Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment restreindre l’accès à la bibliothèque des médias aux téléversements de l’utilisateur dans WordPress ?

Par défaut, WordPress permet aux auteurs/autrices de voir toutes les images de la médiathèque de votre site. Cela pourrait être problématique si vous invitez beaucoup d’auteurs/autrices invités. Dans cet article, nous allons vous afficher comment restreindre l’accès à la médiathèque de WordPress aux seuls outils téléversés par les comptes.

Restrict WordPress media library access to user's own uploads

Pourquoi restreindre l’accès à la Bibliothèque Média aux téléversements des utilisateurs/utilisatrices ?

WordPress permet aux auteurs/autrices de voir tous les fichiers de la médiathèque. Ils peuvent également voir les images téléversées par un administrateur/administratrice, un éditeur ou d’autres auteurs/autrices.

Pour en savoir plus, consultez notre article sur les rôles et droits des utilisateurs/utilisatrices de WordPress.

Disons que vous créez une nouvelle publication pour annoncer un produit ou une affaire à venir. Les auteurs/autrices et les auteurs/autrices invités sur votre site pourront voir les images que vous téléversez dans cet article dans la médiathèque.

Vos téléversements seront également visibles dans la fenêtre surgissante « Ajouter des médias » que les utilisateurs/utilisatrices voient lorsqu’ils ajoutent des images à leurs propres articles.

Pour de nombreux sites, cela n’est pas très important. Toutefois, si vous gérez un site à auteurs/autrices multiples, vous voudrez peut-être modifier cela.

Voyons comment restreindre facilement l’accès à la médiathèque aux seuls outils téléversés par les utilisateurs/utilisatrices.

Méthode 1 : Restreindre l’accès à la médiathèque à l’aide d’une extension

Cette méthode est plus simple et est recommandée pour tous les utilisateurs/utilisatrices.

La première chose à faire est d’installer et d’activer l’extension Restreindre l’accès à la médi athèque. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.

Cette extension fonctionne d’emblée et vous n’avez aucun réglage à effectuer.

Dès qu’il est activé, il filtre la requête de la médiathèque pour voir si l’utilisateur actuel est un administrateur/administratrices ou des éditeurs/éditrices. Si le rôle de l’utilisateur ne correspond pas à l’un d’entre eux, il affichera uniquement les outils téléversés par l’utilisateur lui-même.

Les utilisateurs/utilisatrices ayant le rôle d’administrateur/administratrice ou d’éditeur/éditrice pourront voir tous les outils téléversés comme d’habitude.

Méthode 2 : Restreindre manuellement l’accès à la médiathèque

La première méthode convient à la plupart des sites, car elle limite l’accès à la Bibliothèque des médias et permet uniquement à l’administrateur/administratrice et aux éditeurs/éditrices de voir tous les téléversements de médias.

Cependant, si vous souhaitez ajouter un rôle du rôle personnalisé de l’utilisateur ou tout simplement ne pas utiliser une extension, alors vous pouvez essayer cette méthode à la place. Elle utilise le même code que celui utilisé par l’extension, mais vous pourrez le modifier pour répondre à vos besoins.

Cette méthode nécessite l’ajout d’un code dans les fichiers de WordPress. Si vous n’avez jamais fait cela auparavant, jetez un œil à notre guide sur la façon de copier et coller du code dans WordPress.

Vous devez ajouter le code suivant au fichier functions.php de WordPress ou à une extension spécifique à votre site.

// Limit media library access
 
add_filter( 'ajax_query_attachments_args', 'wpb_show_current_user_attachments' );

function wpb_show_current_user_attachments( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
        $query['author'] = $user_id;
    }
    return $query;
} 

Ce code utilise la fonction current_user_can pour vérifier si l’utilisateur a la permissions d’activer des extensions ou de modifier les publications d’autres utilisateurs. Si ce n’est pas le cas, il modifie la requête utilisée pour afficher les fichiers multimédias et la limite à l’ID de l’utilisateur.

Nous espérons que cet article vous a aidé à apprendre comment restreindre l’accès à la Bibliothèque Média de WordPress aux seuls outils téléversés par le compte de l’utilisateur. Vous pouvez également limiter les auteurs/autrices à leurs propres publications dans la zone d’administration de WordPress.

Si vous avez aimé cet article, veuillez vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

13 commentairesLaisser une réponse

  1. Noel Williams

    Anyone looking for an update might want to consider the following which takes care of the list and grid issues

    // For list view
    add_action( ‘pre_get_posts’, ‘wpb_show_current_user_attachments_list_view’ );
    function wpb_show_current_user_attachments_list_view( $query ) {
    if ( is_admin() && $query->is_main_query() && $query->get(‘post_type’) === ‘attachment’ ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can(‘administrator’) ) {
    $query->set(‘author’, $user_id);
    }
    }
    }

    // For grid view
    add_filter( ‘ajax_query_attachments_args’, ‘wpb_show_current_user_attachments_grid_view’ );
    function wpb_show_current_user_attachments_grid_view( $query ) {
    $user_id = get_current_user_id();
    if ( $user_id && !current_user_can(‘administrator’) ) {
    $query[‘author’] = $user_id;
    }
    return $query;
    }

    • WPBeginner Support

      Thank you for sharing this :)

      Administrateur

  2. Bruno

    The plugin works, but If you switch to ‘upload.php?mode=list’ it’s possible to see all medias again. It works only on the mode=grid

    • WPBeginner Support

      Thank you for sharing this information :)

      Administrateur

  3. nathan

    Amazing ! Its working !

    But if using wordpress app installed from mobile, all users still can access whole media library. Any solutions?

    Your help is much appreciated !

    • WPBeginner Support

      We do not have a solution for the app at the moment but we will certainly keep an eye out.

      Administrateur

  4. Alvaro Gomez

    Thank you for mentioning my plugin :)

    • WPBeginner Support

      Thank you for creating the plugin and placing it on the WordPress.org repo :)

      Administrateur

  5. Daniel

    Am looking for away i can make user upload directly from their pc instead of going to media page

  6. kim

    This may not be the post I need to be asking this on but….

    What if you create a role for say, teacher. Is there a way or plugin that would filter so that one teacher can’t see another teacher media files? If that makes sense? :)

    Teacher-username1- media (only see username1 media files)
    Teacher-username2-media (only see username2 media files)

  7. Hugh

    Instead of:

    !current_user_can(‘activate_plugins’)
    &&
    !current_user_can(‘edit_others_posts’)

    USE:

    !current_user_can(‘administrator’)

    Because if for example you use the ‘User Role Editor’ plugin, you might want to allow the current user to be able to activate plugins AND/OR edit others posts.

    Just a thought, works for me :)

    Thanks for the post!

  8. Peter

    Nice post.

    And is there a way to disallow uploading files directly to the media library and force users (except admins) to use Add Media button within post/page editor?

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.