Voulez-vous organiser les téléversements de médias par utilisateur dans WordPress ?
Si vous gérez un site à auteurs/autrices multiples, vous souhaiterez peut-être empêcher les utilisateurs/utilisatrices d’accéder aux fichiers multimédias des autres. Vous pouvez ainsi vous assurer que les auteurs/autrices ne suppriment pas accidentellement les images des autres.
Dans cet article, nous allons vous afficher comment organiser les téléversements de médias par utilisateurs/utilisatrices dans WordPress.
Pourquoi restreindre l’accès des auteurs/autrices aux téléversements des médias ?
Si vous avez un blog WordPress multi-auteurs, vos auteurs/autrices peuvent téléverser un grand nombre d’images différentes. Il peut donc être difficile pour une auteur/autrice de trouver la bonne image, ou bien elle peut supprimer ou modifier le fichier multimédia d’une autre personne par accident.
Cela peut entraîner toutes sortes de problèmes, notamment une faible productivité, beaucoup de travail supplémentaire pour les admins du site et les éditeurs/éditrices, et un flux de travail éditorial compliqué.
Cet accès illimité peut également poser des problèmes de Confidentialité. Par exemple, si vous travaillez sur l’idée d’un nouveau produit ou d’une nouvelle publication de blog, d’autres auteurs/autrices pourraient voir des images confidentielles dans la médiathèque avant que vous n’en fassiez l’annonce publique.
Si vous avez un site d’adhésion WordPress, les contributeurs/contributrices peuvent même avoir accès à des fichiers multimédias premium via la médiathèque.
Ceci étant dit, voyons comment restreindre qui peut voir les outils téléversés dans votre zone d’administration WordPress. Utilisez simplement les liens rapides ci-dessous pour passer directement à la méthode que vous souhaitez utiliser :
Méthode 1 : Organiser les téléversement des médias par les utilisateurs/utilisatrices à l’aide d’une extension (rapide et facile)
La façon la plus simple de restreindre l’accès aux téléversements de médias est d’utiliser l’extension Frontier Restrict Access. Cette extension gratuite vérifie si un utilisateur dispose du droit edit_others_posts
, qui lui permet de modifier les publications d’un autre utilisateur.
Par défaut, WordPress accorde cette capacité à tous ceux qui ont le rôle d’admin du site ou d’éditeurs/éditrices. Si vous souhaitez modifier cela, vous pouvez ajouter ou retirer des permissions aux rôles des utilisateurs/utilisatrices dans WordPress.
Si l’utilisateur n’a pas le droit edit_others_posts
, alors cette extension l’empêchera d’accéder aux fichiers des autres utilisateurs dans la médiathèque de WordPress. Cela vous permet d’organiser les téléversements de médias par utilisateurs/utilisatrices sans restreindre l’accès aux administrateurs et éditeurs/éditrices.
Ce plugin fonctionne dès la boîte, et il n’y a aucun réglage à configurer, de sorte que vous pouvez simplement installer et activer l’extension Frontier Restrict Access. Pour plus de détails, consultez notre guide sur l ‘installation d’une extension WordPress.
Note : Vous pouvez remarquer que le plugin n’est pas testé avec les dernières versions de WordPress. Cela dit, nous l’avons testé nous-mêmes et il fonctionne parfaitement pour ce tutoriel.
Si vous avez des questions, vous pouvez lire notre article sur l ‘utilisation de plugins WordPress non testés. Si vous trouvez des plugins plus récents qui fonctionnent mieux pour cet objectif, faites-le nous savoir dans les commentaires.
Méthode 2 : Organiser les téléchargements de médias par les utilisateurs à l’aide d’un code (plus personnalisable)
La première méthode est rapide et facile. Cela dit, elle peut être assez limitée, car vous ne pouvez empêcher que les utilisateurs ne disposant pas de l’autorisation edit_others_posts
(administrateurs et éditeurs du site) d’accéder aux fichiers multimédias d’autres utilisateurs.
Si vous êtes administrateur de site, il se peut que vous souhaitiez empêcher tous les utilisateurs (sauf vous-même) d’accéder aux fichiers multimédias d’autres personnes.
Dans ce cas, vous pouvez ajouter un code personnalisé à votre blog WordPress. Nous allons vous montrer deux extraits de code : l’un qui restreint l’accès aux fichiers multimédias pour les utilisateurs qui ne sont pas administrateurs et l’autre pour les utilisateurs qui ne disposent pas de l’autorisation edit_others_posts.
Souvent, les guides vous demanderont d’ajouter du code personnalisé à votre thème WordPress. Cependant, cela n’est pas recommandé, car de simples erreurs ou fautes de frappe dans votre code peuvent provoquer des erreurs WordPress courantes ou même casser complètement votre site.
C’est pourquoi nous recommandons WPCode.
WPCode est la meilleure extension d’extraits de code utilisée par plus d’un million de sites WordPress. Il facilite l’ajout de code personnalisé dans WordPress sans avoir à modifier le fichier functions.php.
La première chose à faire est d’installer et d’activer l’extension gratuite WPCode. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.
Une fois activé, rendez-vous dans la rubrique Extraits de code » Ajouter un extrait.
Vous consulterez cette page pour connaître tous les extraits prêts à l’emploi que vous pouvez ajouter à votre site. Il s’agit notamment d’extraits qui vous permettent de désactiver complètement les commentaires WordPress, de téléverser des fichiers que WordPress ne supporte pas par défaut, et plus encore.
Il vous suffit de survoler la rubrique « Ajouter votre code personnalisé » et de sélectionner « Utiliser un extrait ».
Pour commencer, saisissez un titre pour l’extrait de code personnalisé. Il peut s’agir de n’importe quoi qui vous aide à identifier l’extrait dans le Tableau de bord WordPress.
Ensuite, ouvrez le menu déroulant « Type de code » et sélectionnez « Extrait PHP ».
Dans la zone « Aperçu du code », vous pouvez coller l’un des extraits de code suivants :
Option 1 : Restreindre l’accès aux fichiers multimédias pour les utilisateurs de WordPress qui ne sont pas administrateurs
add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );
function user_show_attachments( $query ) {
$user_id = get_current_user_id();
// Check if the current user is not an administrator
if ( $user_id && !current_user_can('administrator') ) {
$query['author'] = $user_id;
}
return $query;
}
Option 2 : Restreindre l’accès aux fichiers multimédias pour les utilisateurs de WordPress qui n’ont pas le droit d’éditer des articles
add_filter( 'ajax_query_attachments_args', 'user_show_attachments' );
function user_show_attachments( $query ) {
$user_id = get_current_user_id();
// Checks if the current user is logged in (i.e., $user_id is not 0) and does not have the capabilities to activate plugins or edit others' posts.
if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
$query['author'] = $user_id;
}
return $query;
}
Ensuite, défilez jusqu’à la section « Insertion ». WPCode peut ajouter votre module à différents Emplacements, comme après chaque publication, sur l’interface publique uniquement, ou sur l’administration uniquement.
Pour utiliser le code PHP personnalisé sur l’ensemble de votre site WordPress, cliquez sur « Insertion automatique » s’il n’est pas déjà sélectionné. Ouvrez ensuite le menu déroulant « Emplacement » et choisissez « Exécuter partout ».
Ensuite, vous pouvez défiler jusqu’en haut de l’écran et cliquer sur le permutateur « Inactif » pour qu’il se modifie en « Actif ».
Enfin, cliquez sur « Enregistrer l’extrait » pour mettre en direct l’extrait PHP.
Désormais, les utilisateurs/utilisatrices auront uniquement accès aux fichiers qu’ils téléversent dans la médiathèque de WordPress.
Nous espérons que cet article vous a aidé à mieux organiser les téléversements de médias par les utilisateurs/utilisatrices sur votre site WordPress. Ensuite, vous pouvez consulter notre guide ultime de sécurité WordPress ou voir notre choix d’experts des meilleures extensions de formulaires de contact pour WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Joshua Owolabi
I really enjoy all your tutorials kudos to you.
Although I am unable to use to build something due to lack of resources but you are WELDONE
WPBeginner Support
Glad our tutorials are helpful
Administrateur
Teddu
I would like users to be able to upload content, and once its approved go onto a new page. the user could then edit it once it is there.
Think, similar how airbnb let users upload photos and descriptions of their holiday homes, and it appears in a page.
do you know a plug in for this functionality?
WPBeginner Staff
It is certainly possible but can potentially open up your site to spam, malicious hack attempts. Please see out article on how to allow users to submit posts in WordPress. You can allow users to upload media without registration.
fredtgorski
The one thing I would really(!) love to see on media library would be the ability to search media per post and/or date of upload. Every time I need to reuse an image I uploaded for a very old post, it is painfull to find it again. Sometimes I simply give up and reupload it…
agsm
sir , i want to design a wordpress page where user will upload some documents with following feilds (name,e-mail,title,summary and file upload) after submit , it should appear in dashboard and when admin approve it should be show on page (all listing of upload details which has been approved by admin ) , its possible,
thanks in advance!!!
Michel
https://wordpress.org/plugins/wp-user-frontend/
Jan
Do you also have a solution to enable visitors (non-logged-in users) to upload content?
Tony Franco
Very nice! Thank you!!