[Résolu] Rédiger articles sans accès à l’interface administration (Créer un compte)

  • WordPress :5.4
  • Statut : résolu
  • Ce sujet contient 6 réponses, 2 participants et a été mis à jour pour la dernière fois par nauma, le il y a 6 mois.
7 sujets de 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #2353964
    nauma
    Participant
    Initié WordPress
    15 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 7.4.6
    • Thème utilisé : Theme enfant OceanWP
    • Extensions en place :
    • Nom de l’hébergeur : OVH
    • Adresse du site : https://semellesetgamelles.fr/

    Problème(s) rencontré(s) :

    Je cherche un moyen d’avoir une interface la plus simple possible lorsque que des utilisateurs·trices non admin rédigent un article/page, tout en bloquant l’accès à l’interface administration.

    J’ai trouvé ce code qui fonctionne bien pour bloquer l’accès à l’interface admin. Avec ce code actif, le problème c’est que les auteurs, contributeurs, éditeurs ne peuvent plus modifier leurs articles…

    Est-ce possible de masquer pour certains rôles (par exemple pour les contributeurs) le bandeau wordpress présent lorsque qu’un utilisateur est en train de modifier son article (en haut et à gauche, cf éléments barrés en rouge sur la capture d’écran) ?

    L’idéal serait même d’avoir une interface la plus simple possible en ne laissant que la partie centrale de l’édition de l’article (en vert sur la capture d’écran) en masquant également les blocs à droite et en bas de l’article (cf capture d’écran en rouge).

    Merci pour votre aide,

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2353984
    ferman
    Participant
    Maître WordPress
    3787 contributions

    Bonjour,

    Je n’ai pas tout à fait le même écran que vous (je n’utilise pas encore les blocs) donc je ne peux pas absolument garantir le résultat mais ça devrait quand même être à peu près bon.

    Dans les options d’écran, en haut, décochez tout ce que vous voulez supprimer. Ensuite copiez/collez le code suivant dans functions.php du thème enfant.

    function contributeur(){
    	if (current_user_can('contributor'))
    	echo '<style>.wp-first-item,.wp-menu-name,.wp-menu-image,#visibility,.misc-pub-section {display:none;}</style>';
    }	
    add_action('admin_head','contributeur');

    • Cette réponse a été modifiée le il y a 6 mois par ferman.
    • Cette réponse a été modifiée le il y a 6 mois par ferman.
    #2354209
    nauma
    Participant
    Initié WordPress
    15 contributions

    Bonjour,

    Merci pour votre script.

    J’ai également fait des recherches de mon côté et j’ai adapté des bouts de codes qui fonctionnent bien pour moi :

    /* Pour cacher les élément dans la barre à gauche (uniquement pour les contributeurs) */
    
    function remove_menus () {
    if(is_user_logged_in() && current_user_can('contributor'))
    {
    remove_menu_page( 'index.php' ); //Dashboard
    remove_menu_page( 'edit.php' ); //Posts
    remove_menu_page( 'upload.php' ); //Media
    remove_menu_page( 'edit.php?post_type=page' ); //Pages
    remove_menu_page( 'edit-comments.php' ); //Comments
    remove_menu_page( 'themes.php' ); //Appearance
    remove_menu_page( 'plugins.php' ); //Plugins
    remove_menu_page( 'users.php' ); //Users
    remove_menu_page( 'tools.php' ); //Tools
    remove_menu_page( 'options-general.php' ); //Settings
    
    }
    }
    add_action( 'admin_menu', 'remove_menus' );
    
    
    
    
    /*  Pour cacher les éléments de la barre supérieure de l'admin wordpress (uniquement pour les contributeurs) */
    
    function remove_admin_bar_links() {
    global $wp_admin_bar, $current_user;
    
    $user = wp_get_current_user();
    if ( in_array( 'contributor', (array) $user->roles ) ) {
    $wp_admin_bar->remove_menu('updates'); // Remove the updates link
    $wp_admin_bar->remove_menu('comments'); // Remove the comments link
    $wp_admin_bar->remove_menu('new-content'); // Remove the content link
    $wp_admin_bar->remove_menu('wp-logo'); // Remove the WP Logo link
    $wp_admin_bar->remove_menu('wpseo-menu'); // Remove the Yoast SEO menu
    $wp_admin_bar->remove_menu('my-account'); // Remove the user details tab
    /* $wp_admin_bar->remove_menu('site-name'); // Remove the site name menu */
    $wp_admin_bar->remove_menu('view-site'); // Remove the view site link
    }
    }
    add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );

    • Cette réponse a été modifiée le il y a 6 mois par nauma.
    #2354218
    ferman
    Participant
    Maître WordPress
    3787 contributions

    Bonjour,

    Merci d’avoir donné votre solution. C’est bien  mais êtes-vous sûr de vouloir supprimer “new-content” et “my account” de la barre d’administration? Ce faisant, le contributeur depuis son tableau de bord n’a plus accès à l’éditeur d’articles et ne peut plus se déconnecter.

    #2354370
    nauma
    Participant
    Initié WordPress
    15 contributions

    Je trouve que l’interface WordPress n’est pas facile à prendre en main pour des personnes non initiées. Les personnes qui vont contribuer sur mon site n’écriront sûrement qu’un seul article et je trouve que cela doit être le plus simple possible pour elles. Par ailleurs, je ne souhaite pas que les personnes puissent accéder à leur profil wordpress (via ‘My account’) qui contient des permissions spécifiques.

    L’idéal serait d’avoir une interface wordpress simplifiée pour les personnes qui contribuent au site, mais je n’ai pas l’impression que cela existe alors j’ai bidouillé !

    • Sur l’interface de modification des articles, j’ai laissé le lien permettant de voir l’article. La personne peut ainsi être redirigée vers le site.
    • J’ai mis dans le menu de mon site un lien pour se connecter et se déconnecter de son compte (via le plugin Ultimate Member).
    • Le contributeur ou la contributrice peut accéder à ses articles via son profil (créé via le plugin Ultimate Member). J’ai adapté un script qui permet d’afficher un lien “Modifier l’article” sur les articles du contributeur ou de la contributrice.
    #2354373
    ferman
    Participant
    Maître WordPress
    3787 contributions

    L’idéal serait d’avoir une interface wordpress simplifiée pour les personnes qui contribuent au site, mais je n’ai pas l’impression que cela existe alors j’ai bidouillé !

    Eh oui, parfois il faut bidouiller; ça permet de se trouver des solutions bien personnalisées  sans s’encombrer de choses inutiles. Et là vous avez pas mal bidouillé. Bonnes randos.

    #2354515
    nauma
    Participant
    Initié WordPress
    15 contributions

    Merci ! Et bonne continuation à vous !

7 sujets de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.