Tout savoir sur WordPress
Tutoriel WordPress

Autoriser l’upload des medias pour les contributeurs

WordPress interdit aux contributeurs l’upload de médias. Et pourtant, une astuce toute simple permet d’ajouter cette fonctionnalité aux contributeurs de votre site.

Un contributeur peut uniquement ajouter, éditer et supprimer ses propres articles qui seront soumis à la validation d’un administrateur ou d’un éditeur. De plus, il lui est impossible de télécharger des médias.

C’est un détail handicapant puisque vos contributeurs ne peuvent donc pas fournir des articles composés d’images alors que ces derniers apportent en général une plus value non négligeable.

Heureusement pour nous, l’équipe de WordPress a très bien conçu son CMS puisqu’il est possible de modifier les droits d’un rôle.

L’astuce ci-dessous se place dans le fichier functions.php présent à la racine de votre thème.
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


if ( current_user_can('contributor') && !current_user_can('upload_files') )
    add_action('admin_init', 'allow_upload_contributors');

function allow_upload_contributors() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}

[/pastacode]
Avant d’exécuter la fonction qui ajoutera la capacité de téléchargement, il convient de vérifier si le membre a le rôle de contributeur et s’il n’a pas le droit de télécharger des médias. Une fois la vérification effectuée, il faut ajouter la capacité à l’ensemble des contributeurs.

Grâce à cette astuce, le menu Envoyer/Insérer apparaît pour l’intégralité de vos contributeurs.

J’ai profité de cette astuce pour en faire un plugin WordPress disponible à cette adresse : Upload Media For Contributors.

Source : Diije

Cet article a été mis à jour il y a 4805 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

13 Commentaires

  1. Bonsoir
    Merci pour l’astuce
    Existe t il une astuce du genre pour que les contributeurs puissent ajouter des catégories ?

  2. Merci pour ton aide, j’ai installé ton plugin sur un futur projet de site de communiqué de presse.
    Je n’hésiterai pas à te faire un feedback dès la mise en place. Et pourquoi pas un petit article? Si ça te dit??? Avec un beau lien vers ton plugin. Contacte moi http://www.smo4seo.com

  3. Petite question en passant, existe il un moyen de laisser les contributeurs uploader des photos sans qu’ils aient accès à la bibliothèque médias déjà existants sur le site ? En gros peut-on laisser la main à un contributeur uniquement sur ses photos et pas sur toutes les photos du site ? Je sais déjà qu’ils n’ont pas les droits pour les modifier, mais je voudrais en plus leur interdire de voir et d’utiliser les photos des autres contributeurs et de la bibliothèque média en général.
    Merci.

  4. @Julien : Très bonne question, il faudrait regarder dans le code avant de voir s’il est possible de modifier la requête qui affiche les images en fonction du rôle des membres.

  5. Bonjour,

    j’ai testé l’ajout de la fonction et super ça marche. Je l’ai retiré ensuite du fichier functions.php de mon thème et par contre la fonction est toujours disponible en tant que contributeur…??

    Une idée ?

  6. @yoann : Il faut supprimer la capacité. Cela peut se faire avec le code ci-dessous :

    $contributor = get_role('contributor');
    $contributor->remove_cap('upload_files');
    
  7. je cherche un plugin qui permet aux internautes enregistrés de déposer un fichier sur une page . j’ai pas trouvé un plugin qui assure ça , j’ai trouvé ceux qui permettent seulement l’upload du fichier dans la bibiliothèque du site sans affichage .

  8. Merci bien pour cette astuce très utile pour les sites de communiqués de presse , vous m’avez fait gagner un temps précieux …