Il y a quelques semaines, j’ai donné la possibilité aux membres qui le souhaitaient d’écrire leur propre article sur le site.
En me penchant sur la question technique, je me suis rendu compte qu’il existait des plugins WordPress dédiés à cette tâche mais en y regardant de plus près, il se trouve que tous ces plugins effectuent pas mal d’appels à la base de données pour finalement pas grand-chose : un simple formulaire style formulaire de contact, sans contrôles, pour envoyer du texte brut. Pas très user-friendly !
J’ai donc pris une route un peu différente et en utilisant les plugins adéquats, les membres ont pu écrire via la même interface d’administration que celle que j’utilise tous les jours.
J’ai tout épuré au préalable de manière à ne montrer que ce qui est nécessaire pour écrire, modifier un article et joindre des documents comme des images pour illustrer l’article.
Le tout prend environ 10-15 minutes à mettre en place. Voici la marche à suivre, en 4 étapes.
Étape 1 : assigner les droits aux membres
Nous commençons par le premier problème, celui des droits.
Par défaut, lorsqu’un membre s’enregistre sur le site, il possède la qualité d’abonné (subscriber).
Un abonné n’a que la capacité de lire les articles, ce qui ne change pas vraiment d’un visiteur lambda.
Pour lui donner d’autres capacités, voici comment faire :
1. installez le plugin Role Manager. Il fait partie des plugins indispensables pour gérer les rôles et permissions des membres.
2. activez le plugin et rendez-vous dans Utilisateurs > Roles.
3. nous allons donner 2 nouveaux droits à nos abonnés : le droit d’écrire/modifier des articles (Edit posts) et le droit d’uploader des images (Upload Files).
Dans la partie Subscriber, cliquez sur Edit Posts puis sur Upload Files. Lorsque l’icône rouge devient verte, c’est que les nouveaux droits ont été assignés.
Comme vous pouvez le constater, il est plutôt simple d’affecter des droits supplémentaires à un groupe donné.
Si jamais vous décidez de retirer les droits aux abonnés, il suffira de recliquer dessus pour les désactiver. Simple et efficace.
Étape 2 : nettoyage du menu administration
Par défaut, lorsque les gens se connectent sous WordPress, ils sont redirigés vers le tableau de bord (dashboard) qui contient pas mal d’informations qui ne concernent peut-être pas tout le monde.
Le plugin HideDashboard peut s’avèrer utile pour les rediriger ailleurs et cacher ce menu.
Étape 3 : nettoyage de la console d’écriture
Lorsque l’on écrit en tant qu’administrateur du blog, on a accès à une foule d’options et de contrôles qui ne sont pas vraiment nécessaires à nos guest-bloggers.
Il vaut peut-être mieux épurer un peu la page d’écriture afin de ne présenter que les éléments nécessaires à la rédaction de leurs articles.
WP-CMS Post Control est un plugin qui permet tout cela. Après installation, rendez-vous sur la page d’option du plugin et configurez les contrôles que vous désirez voir apparaître sur la page de rédaction.
Voilà la configuration que j’ai utilisé ici :
Étape 4 : encore un peu de ménage
Cette étape n’est absolument pas obligatoire mais je l’ai mise en place ici pour que les membres ne puissent voir que leurs propres brouillons et leurs propres fichiers.
Comme cela implique l’édition de fichiers WordPress, je ne vous le recommande pas puisque chaque mise à jour écrasera vos modifications.
Je la mets toutefois pour archive :
a) pour que les membres ne voient que leurs articles :
ouvrir /wp-admin/edit.php
rechercher (vers la ligne 180) :
<php if ( have_posts() ) {
remplacer par :
<?php if ( have_posts() ) {
// Edit by Matt (skyminds.net)
// If not admin, show only posts written by the user
if ($userdata--->user_level<10) {
$posts = query_posts("author=".$userdata->ID);
}
//
Code language: HTML, XML (xml)
sauvegardez le fichier.
b) pour que les membres ne voient que les fichiers qu’ils ont uploadés :
ouvrir /wp-admin/upload.php
rechercher (vers la ligne 102) :
$title = __('Media Library');
$parent_file = 'upload.php';
Code language: PHP (php)
remplacer par :
$title = __('Media Library');
$parent_file = 'upload.php';
// Edit by Matt (skyminds.net)
// If not admin, show only files attached by the user
if ($userdata->user_level<10) {
$posts = query_posts("author=".$userdata->ID);
}
//
Code language: PHP (php)
Sauvegardez le fichier.
L’avantage de tout cela, c’est que vous pouvez ouvrir votre blog à d’autres auteurs sans avoir de plugins activés en permanence qui dégradent les performances de votre serveur : activez les 3 plugins et hop, votre blog est ouvert aux membres.
Comment mettre fin au guest-blogging
Pour refermer la porte du blog, il suffit de :
- retirer les droits Edit posts et Upload Files des abonnés avec Role Manager.
- désactiver les plugins Hide Dashboard et WP-CMS Post Control.
- désactivez Role-Manager si vous ne l’utilisez pas pour autre chose.
Et voilà ! C’est aussi simple que cela. Happy guest-blogging !
Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.
superb article, je vais tenter de faire la même chose sur un blog que je souhaite crée dédié à l’art urbain sur lyon. L’idée est de créer une chaîne de reporters qui feront des photos de graffiti, de collages, de skaters et bikers et puissent les publier sur le site.
Alors cet article est d’une aide précieuse.
Merci beaucoup.
Momo
@momo : je suis content que cela puisse te servir :)
Bien utile ton post, je voulais autoriser un redacteur invité à uploader des images, et j’ai trouvé la soluce grâce à Role Manager. Merci !
Je t’en prie !
bonjour,
en tant qu’adminstrateur, il y a plein de plugins qui ont disparus de mon menu et qui n’apparaissent pas du tout dans role manager depuis que je l’ai installé.
de plus il y a une possibilité de créer des droits nouveaux en en donnant un nom, mais impossible de trouver le “mode d’emploi”
merci pour la réponse
Bonjour,
Vérifie que l’administrateur possède bien tous les droits (tout doit être vert pour le rôle Administrator) dans Role Manager. C’est un plugin très puissant et il faut faire attention lorsqu’on l’utilise de ne pas cocher/décocher plus que nécessaire.
Pour créer un rôle, il suffit de lui donner un nom et de lui assigner des capacités. Ou alors on peut copier un rôle existant sous un autre nom.
Attention : je déconseille la suppression des rôles existants !
bon, j’ai détruit role manager dans la base de donnée et maintenant c’est ok, je vois tous les plugins dans la barre de menu
je ne parle pas de créer un role, ça c’est bon, non, il y a un menu pour créer un nouveau droit, ce droit apparait ensuite dans les différents rôles. Mais il n’y a aucune explication. J’ai cherché sur google mais je n’ai trouvé que des utilisateurs qui se posent la même question, de plus l’auteur ne semble plus répondre depuis plusieurs mois sur son site.
ce menu contient :
“Gérer les droits
Cette page permet d´éditer les droits.
Droits personnalisés
Nom du nouveau droit :
Purger les droits inutilisés
Vous n´avez pas de droits inutilisés”
merci
Il y a une page d’aide (
) mais c’est vrai que c’est cryptique.
Je n’ai jamais eu besoin de créer un nouveau droit, j’active/désactive juste les droits existants des rôles par défaut.
Merci pour le tuto, je vais tâcher de tester ça.
Je t’en prie Li-An !
Merci pour cet excellent tuto: simple et clair.
Je vais pas tarder à mettre en oeuvre tellement cela semble simple… mais j’ai juste peur que ce ne soit “pas si simple” ;-)
Je t’en prie Wally : je te rassure, c’est très simple à mettre en place. Facile à activer et désactiver. Je m’en sers de temps à autres pour le quartier libre sur le site.
Merci pour ces informations, exactement ce que je cherchais….
Je veux créer une communauté sur WORDPRESS.
Ha oui pour ROLE MANAGER il est pas mal mais j’utilise moi CAPABILITY MANAGER.
Lui aussi il est puissant.
Juste encore autre chose, j’ai vus que on a la possibilité de voir l’aperçu du commentaire, c’est un plugin ou un code aussi on peut cocher une case qui permet de tenir les personne au courant des modifications de la page et de la mis de news commentaires.
STP peux-tu m’avoir ces deux plugins
Merci