Vous cherchez un moyen de restreindre les utilisateurs à ne voir que les éléments de la médiathèque qu'ils ont téléchargés ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour restreindre les utilisateurs à ne voir que les éléments de la médiathèque qu'ils ont téléchargés dans WordPress.
Instructions :
Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :
function my_files_only( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false ) {
if ( !current_user_can( 'level_5' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'my_files_only' );
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 7 meilleurs services VPN pour les utilisateurs de WordPress et comment créer un formulaire de don WordPress.
nous venons de réaliser que bien que ces scripts fonctionnent dans WordPress sur le web, la version Android/mobile de la médiathèque reste visible par tout le monde
un petit changement que j'ai fait dans le code pour que cela fonctionne sur le front-end sur ma page de profil
//if ( false !== strpos( $_SERVER[ ‘REQUEST_URI’ ], ‘/wp-admin/upload.php’ ) ) {
if ($wp_query->query_vars[‘post_type’]==”attachment”){
de cette façon, cela fonctionne correctement.
Merci Prasanna, je me suis inscrit sur Disqus juste pour te remercier.
Moi aussi
[…] en cherchant sur Google, j'ai trouvé de nombreuses références (ici, et ici, par exemple ) à ceci […]
Ça a marché ! (WP 3.8.1) Merci !
salut, merci pour le code. très utile !
cependant, d'autres utilisateurs peuvent toujours voir les pièces jointes s'ils ont un lien direct. y a-t-il un moyen d'empêcher cela ? c'est-à-dire que seuls le propriétaire du média (et l'administrateur) peuvent voir les pièces jointes. les autres utilisateurs ou le public ne peuvent pas les voir.
Merci.
J'ai mis ce code... mais j'ai un mauvais compteur pour les articles multimédias...
L'utilisateur actuel n'a pas d'articles multimédias... alors que j'ai Tout (15) | Images (15) | Non attachés (2)
je veux afficher le compte pour l'utilisateur actuel... pas pour tous....
J'ai juste caché tous les nombres de compte par CSS : subsubsub .count {display: none; }
Çok te?ekkür ederim – Merci
Merci beaucoup pour ça... Role scoper causait des problèmes avec un autre plugin et c'était la seule fonctionnalité que je voulais, c'est que les images soient limitées... Merci de l'avoir mis à jour pour qu'il fonctionne avec la nouvelle médiathèque, il fonctionne parfaitement.
Quelqu'un sait comment restreindre l'utilisateur également lorsqu'il télécharge un fichier depuis l'insertion ou la modification d'un article ? En fait, lorsque j'appuie sur le bouton Ajouter un média, la fenêtre contextuelle m'affiche l'onglet Bibliothèque des médias, avec tous les médias téléchargés par tous les utilisateurs. J'utilise WP 3.5.1.
Merci !
Regardez ma réponse à designlabCPH ci-dessus. Insérez cette fonction dans votre fichier functions.php, et la médiathèque sera limitée aux fichiers des utilisateurs uniquement.
Ça ne marche pas pour moi 🙁 Je veux que les utilisateurs non-administrateurs puissent voir uniquement leurs propres fichiers, y compris lorsqu'ils créent des articles, qu'ils ne voient que leurs propres images lorsqu'ils ajoutent des images mises en avant, etc.
Ça ne marche pas pour moi 🙁 Je veux que les utilisateurs non-administrateurs puissent voir uniquement leurs propres fichiers, y compris lorsqu'ils créent des articles, qu'ils ne voient que leurs propres images lorsqu'ils ajoutent des images mises en avant, etc.
Ça ne marche pas pour moi 🙁 Je veux que les utilisateurs non-administrateurs puissent voir uniquement leurs propres fichiers, y compris lorsqu'ils créent des articles, qu'ils ne voient que leurs propres images lorsqu'ils ajoutent des images mises en avant, etc.
Ça ne marche pas pour moi 🙁 Je veux que les utilisateurs non-administrateurs puissent voir uniquement leurs propres fichiers, y compris lorsqu'ils créent des articles, qu'ils ne voient que leurs propres images lorsqu'ils ajoutent des images mises en avant, etc.
Ça marche maintenant ! Merci beaucoup !
J'ai utilisé le plugin Role Scoper. Je cherchais à résoudre ce problème toute la journée. Role Scoper n'autorisera par défaut que l'utilisateur connecté à voir son propre contenu et ses propres articles. Vous pouvez également modifier cela si vous le souhaitez. Médiathèque privée pour les auteurs 😉
y a-t-il un moyen de configurer cette ligne de code pour restreindre la médiathèque uniquement aux contributeurs ? De cette façon, les contributeurs ne peuvent voir que les médias qu'ils téléchargent et les administrateurs peuvent tout voir.
y a-t-il un moyen de programmer cette ligne de code pour qu'elle ne s'applique qu'à des niveaux d'adhésion spécifiques ? (c'est-à-dire que les contributeurs ne peuvent voir que leurs propres téléchargements de médias, mais les administrateurs peuvent tout voir)
J'utilise WP 3.3.1 et cela ne fonctionne pas. Y a-t-il une mise à jour du code ? Merci.
Regardez ma réponse ci-dessus. J'ai posté une fonction qui fonctionnera avec le nouveau gestionnaire de médias (WP 3.5+)
J'ai une question Kevin, comment restreindre les contributeurs du téléchargement de médias ?
Salut Rian,
À la ligne 3, vous verrez « level_5 » sur cette page WordPress, cela contient des détails sur les niveaux d’utilisateurs, vous pouvez simplement changer ce niveau. http://codex.wordpress.org/User_Levels#User_Level_5_2
je n'avais pas remarqué que le rôle par défaut pour le contributeur est de ne pas pouvoir télécharger de médias. je viens de l'essayer hier soir.. haha.
Merci beaucoup Kevin ! 🙂
Pas de problème, n'hésitez pas,
Merci Kevin, c'est très utile, mais comment corriger ‘nombre total de fichiers’ ?
Heureux d'apprendre que vous aimez l'extrait ! Eh bien, le total est toujours correct puisque les fichiers existent, bien que je comprenne votre point de vue. Je vais examiner cela dans un avenir proche pour voir si je peux publier un extrait.
merci pour la publication. exactement ce que je cherchais.
j'ai fait un petit changement >> ajoutez également le fichier media-upload.php à cette ligne de code. cela filtrera également les images / mediafiles au-dessus de l'éditeur wysiwyg.
presta
Salut Sheila,
Où/Qu'avez-vous posté en termes de code dans le fichier media-upload.php ? J'obtiens une erreur lorsque je colle le code. Merci d'avance !
J'ai trouvé un problème, la médiathèque affiche toujours le contenu complet dans la fenêtre contextuelle d'insertion de médias. (identique aux autres pages modèle aussi)
cependant, j'ai ajouté get global $post, et ajouté une autre condition pour les posts.
‘/wp-admin/media-upload.php?post_id=’.$post->ID.’&type=image&tab=library’
mais ça n'a pas marché..
j'ai corrigé cela en ajoutant une deuxième clause
“|| strpos( $_SERVER[ ‘REQUEST_URI’ ], ‘/wp-admin/media-upload.php’ ) !== false”
Comment diable faites-vous pour que cela fonctionne dans WP 3.5 ?
J'ai tout essayé (je crois, bien que je ne sois pas un codeur PHP) y compris l'ajout de votre solution ci-dessus – et je n'arrive tout simplement pas à la faire fonctionner.
J'ai besoin que seuls les administrateurs puissent voir tous les médias dans la fenêtre contextuelle de la médiathèque, et que tous les autres (y compris les éditeurs) ne puissent voir que leurs images respectives... Auriez-vous la gentillesse de me l'expliquer ? 🙂
Utilisez Role Scoper si vous n'avez pas encore trouvé la solution, mon ami. Cela résout exactement ce problème. C'est par défaut lorsque vous installez le plugin. Tant la médiathèque que les articles. FYI
J'ai passé des heures aujourd'hui juste pour résoudre ce problème de téléchargement par les utilisateurs, et j'ai trouvé que c'est le seul code qui fonctionne. Merci !
Vous devez changer quelques paramètres pour que cela fonctionne avec le nouveau gestionnaire de médias.
Vous pouvez utiliser cette fonction (notez que j'ai créé une capacité « manage_media_library ». Ce n'est que si l'utilisateur l'a qu'il verra des fichiers autres que les siens) :
add_action(‘pre_get_posts’,’ml_restrict_media_library’);
function ml_restrict_media_library( $wp_query_obj ) {
global $current_user, $pagenow;
if( !is_a( $current_user, ‘WP_User’)
return;
if( ‘admin-ajax.php’ != $pagenow || $_REQUEST[‘action’] != ‘query-attachments’ )
return;
if( !current_user_can(‘manage_media_library’)
$wp_query_obj->set(‘author’, $current_user->ID );
return;
}
Je cherchais exactement ça : ‘admin-ajax.php’ != $pagenow || $_REQUEST[‘action’] != ‘query-attachments’
Merci beaucoup !
Où avez-vous mis ça ?
en tant que nouveau plugin ! bien, ça marche pour moi !
excellente solution de code Patrick – a résolu mon problème rapidement – J'aurais aimé trouver ça en décembre. : ) merci !
J'ai essayé votre code dans un plugin, directement dans function.php mais ça ne fonctionne pas. J'ai Wordpress 3.5.1 et je veux l'utiliser sur le front-end avec le bouton add media de la fonction wp_editor.
J'ai essayé dans wp-admin mais ça ne fonctionne pas non plus.
Avez-vous une idée pourquoi ça ne fonctionne pas ???
Utilisé ceci, beaucoup de félicitations à vous !
Ces extraits sont si utiles pour mon site multi-blogueurs. Vous devriez en faire des plug-ins WP ! merci =)
Cool, content que vous aimiez l'extrait, je ne suis pas sûr que cela vaille la peine d'être ajouté en tant que plugin bien qu'il puisse être configuré comme tel.
Vous devriez, j'ai du mal à trouver cela dans le pool de plugins et j'ai fini par abandonner et chercher des ressources externes, ce qui m'a amené ici. J'adore votre blog, des extraits directs et pertinents. J'apprends beaucoup ici !
Vous avez illuminé ma journée, merci Chard ! =)
Pas de problème, content que vous aimiez le site web – visitez régulièrement, nous publions tous les jours !