Ich möchte Bilder nur für vom Benutzer hochgeladene Bilder auflisten. Hier ist das Szenario:
- Verwenden des Bild-Uploaders am Frontend mit iframe.
- Ich habe
upload_files
Benutzern auf Abonnentenebene eine Obergrenze hinzugefügt und möchte, dass sie nur Bilder sehen, die sie hochgeladen haben. Ich habe festgestellt, dass F Benutzer nur Medienbibliothekselemente anzeigen dürfen, die sie hochgeladen haben. aber die akzeptierte Antwort funktioniert bei mir nicht.
// Code originally by @t31os add_action('pre_get_posts','users_own_attachments'); function users_own_attachments( $wp_query_obj ) { global $current_user, $pagenow; if( !is_a( $current_user, 'WP_User') ) return; if( 'upload.php' != $pagenow ) return; if( !current_user_can('delete_pages') ) $wp_query_obj->set('author', $current_user->id ); return; }
Die Frontend-Seite, die ich mit dem Bild-Uploader verwende, heißt "Eintrag".
- Wenn ich diesen Teil des Codes entferne,
if( 'upload.php' != $pagenow ) return;
funktioniert der Code. Ich denke, ich muss diesen Teil des bedingten Codes verbessern, konnte ihn aber nicht herausfinden. Die Bedingung ist wichtig, weil ich nicht möchte, dass der Code auf anderen Seiten angewendet wird, auf denen er nicht benötigt wird.
Also brauche ich Hilfe, um den bedingten Teil zu verbessern, wie ich erwähnt habe. Vielen Dank!
function
nicht mit dem fn-Inhalt übereinstimmt.Antworten:
Dies funktioniert bei mir, um die von einem Benutzer hochgeladenen Elemente in der Medienbibliothek aufzulisten.
Es ermöglicht allen Benutzern mit der
manage_options
Fähigkeit (normalerweise Administrator), alle Bilder zu sehen, die anderen Benutzer sehen nur ihre eigenen Bilder. Beachten Sie, dass einige Verbesserungen wie$pagenow
und vorgenommen werden könnencurrent_user_can
. Keine Schönheit, aber es macht den Jobquelle
wp_upload_dir()
Ergebnisses zu vergleichen .Das Medien-Upload-Formular, das ich über Thickbox aufgerufen habe, war
media-upload.php
. Also musste ich die Bedingung auf ändernif( 'upload.php' != $pagenow && 'media-upload.php' != $pagenow)
. Ich habe vergessen, in den offensichtlichen Ort zu schauen :)quelle