Je souhaite répertorier les images uniquement pour les images téléchargées par les utilisateurs. Voici le scénario:
- Utilisation du téléchargeur d'images sur le front-end en utilisant iframe.
- J'ai ajouté une
upload_files
limite aux utilisateurs au niveau abonné et je veux qu'ils ne voient que les images qu'ils ont téléchargées. J'ai trouvé ce Q Restreindre les utilisateurs à afficher uniquement les éléments de la bibliothèque multimédia qu'ils ont téléchargés? mais la réponse acceptée ne fonctionne pas pour moi.
// 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; }
La page frontend que j'utilise le téléchargeur d'images est nommée "Entrée".
- Si je supprime cette partie du code,
if( 'upload.php' != $pagenow ) return;
le code fonctionne. Je pense que je dois améliorer cette partie du code conditionnel mais je n'ai pas pu le comprendre. Le conditionnel est important parce que je ne veux pas que le code s'applique sur d'autres pages où il n'est pas requis.
J'ai donc besoin d'aide pour améliorer la partie conditionnelle comme je l'ai mentionné. Merci!
function
ne pas l'aligner avec le contenu fn.Réponses:
Cela fonctionne pour moi afin de répertorier les éléments téléchargés par un utilisateur sur la médiathèque.
Il permettra à tous les utilisateurs ayant la
manage_options
capacité (généralement administrateur) de voir toutes les images, les autres utilisateurs ne verront que leurs propres images. Notez que quelques améliorations peuvent être apportées comme$pagenow
etcurrent_user_can
. Pas une beauté mais ça fait le boulotla source
wp_upload_dir()
résultat.Le formulaire de téléchargement des médias que je tirais via thickbox était
media-upload.php
. J'ai donc dû changer le conditionnel enif( 'upload.php' != $pagenow && 'media-upload.php' != $pagenow)
. J'ai oublié de regarder l'endroit évident :)la source