guest-blogging-microIl 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, même si elle a été épurée 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.

Etape 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). Par défaut, 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.
A lire :  Mettre à jour un GPS Garmin avec une base de radars
On assigne les nouveaux droits avec Role Manager
On assigne les nouveaux droits avec Role Manager

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.

Etape 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.

Etape 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 :

On sélectionne les contrôles à afficher sur la page rédaction.
On sélectionne les contrôles à afficher sur la page rédaction.

Etape 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 :

  1. ouvrir /wp-admin/edit.php
  2. rechercher (vers la ligne 180) :
    <?php if ( have_posts() ) { ?>
  3. remplacer par :
    <?php if ( have_posts() ) { ?>
    <?php
    // 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);
    }
    //
    ?>
  4. sauvegardez le fichier
A lire :  MacOS : résoudre le problème d'encodage Unicode des accents sous WordPress (ou autre CMS)

b) pour que les membres ne voient que les fichiers qu'ils ont uploadés :

  1. ouvrir /wp-admin/upload.php
  2. rechercher (vers la ligne 102) :
    $title = __('Media Library');
    $parent_file = 'upload.php';
  3. 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);
    }
    //
  4. 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 :

  1. retirer les droits Edit posts et Upload Files des abonnés avec Role Manager.
  2. désactiver les plugins Hide Dashboard et WP-CMS Post Control.
  3. désactivez Role-Manager si vous ne l'utilisez pas pour autre chose.

Et voilà ! C'est aussi simple que cela. Happy guest-blogging !

Pour développer votre projet WordPress ou Woocommerce, faites appel à mon expertise pour réaliser un site rapide, performant et fonctionnel.

Je soumets mon projet

Si vous avez trouvé une faute d’orthographe, informez-nous en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée s’il vous plaît.

Articles en rapport:

Le guest-blogging avec WordPress ou comment permettre à vos membres de soumettre leurs propres articles

par Matt Lecture: 4 min
13

Pin It on Pinterest

Share This

Spelling error report

The following text will be sent to our editors: