X

Restreindre les auteurs à ne voir que les articles qu'ils ont créés

Extraits par IsItWP

Voulez-vous restreindre les auteurs à ne voir que les articles qu'ils ont créés dans le panneau d'administration ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour restreindre les auteurs à ne voir que les articles qu'ils ont créés dans WordPress.

Instructions :

Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

function posts_for_current_author($query) {
        global $pagenow;
 
    if( 'edit.php' != $pagenow || !$query->is_admin )
        return $query;
 
    if( !current_user_can( 'manage_options' ) ) {
       global $user_ID;
       $query->set('author', $user_ID );
     }
     return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 15 meilleurs outils de marketing de contenu et comment créer un formulaire de contact dans WordPress.

Commentaires   Laisser une réponse

  1. Comment faire pour qu'il n'affiche que les articles des auteurs actuels, mais qu'il affiche également les articles d'un autre auteur défini manuellement par son ID, dans mon cas, c'est l'ID utilisateur 3 que je veux que tous les auteurs voient.

    1. Salut Patrick, une solution simple consiste à créer une page protégée par mot de passe pour vos auteurs et à afficher les articles de tous les auteurs sur cette page.

  2. Bonjour Chard, comment faire si cela sera utilisé pour une page seulement et non pour un article, merci, j'ai besoin de votre retour rapidement.

    1. Une page dans WordPress est un type d'article. Cela dit, vous devrez peut-être changer 'edit.php' à la ligne 4 en 'edit.php?post_type=page'.

  3. Pouvez-vous m'aider avec le code pour restreindre les auteurs à ne voir que la catégorie qu'ils ont créée.
    Merci

  4. Uldis Zalcmanis July 26, 2012 at 2:11 am

    Y a-t-il un moyen de restreindre l'auteur d'un commentaire pour qu'il soit le seul à pouvoir voir le commentaire ? Je sais que cela semble absurde – ne demandez pas 🙂 J'en ai vraiment besoin ! Merci d'avance.

  5. Merci beaucoup Kevin !!

    1. De rien, content d'avoir pu aider.

  6. Cliff Paulick May 22, 2012 at 9:07 am

    De plus, cela fonctionne-t-il uniquement pour les articles ou aussi pour les pages ?

  7. J'utilise WP 3.3.1 et cela ne fonctionne pas. Y a-t-il une mise à jour du code ? Merci.

  8. Ernest, je me risquerais à deviner que vous remplaceriez :

    if( !current_user_can( ‘manage_options’ ) ) {

    par :

    if( !current_user_can( ‘level_1’ ) ) {

    Toute personne ayant un rôle supérieur à Contributeur pourrait voir tous les articles.

  9. Salut, c'est un excellent extrait de code ! Comment puis-je modifier le code pour avoir cet effet pour le rôle utilisateur « Contributeurs » ?

  10. Cela a fonctionné comme décrit. Mais, lorsque je l'ai retiré de functions.php, je ne pouvais voir aucun article en étant connecté en tant que quelqu'un d'autre qu'un administrateur. ???

    1. Désolé. Il semble que cela ait pu être un problème avec autre chose. Cela semble fonctionner correctement maintenant.

      1. Salut Chad  Cool, content de voir que vous avez résolu les problèmes.

  11. Excellent extrait, merci. Connaissez-vous un moyen de restreindre la visibilité des titres de sous-menus par ID utilisateur. c'est-à-dire que l'auteur d'un article de type custom_post_type A ne voit que le sous-menu pour custom_post_type A tandis que les autres sous-menus custom_post_type sont masqués ?

    1. Salut Craig, content que le snippet vous plaise. Concernant le sous-menu, ce snippet devrait vous aider. http://wpsnipp.com/index.php/functions-php/remove-sub-menu-dashboard-items/

  12. Merci pour ceci 😉 

    Est-ce que cela fonctionne pour toutes les classes d'utilisateurs (Auteurs, Éditeurs, etc.) ? 

    1. Cet extrait n'affichera que les articles créés par cet utilisateur, cela devrait fonctionner pour tout le monde. Donc, si vous avez un utilisateur qui n'a créé aucun article, il ne devrait rien voir dans la vue d'administration des articles.

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !