[Résolu] Administrateur sous contrôle

  • WordPress :5.2
  • Statut : résolu
11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Messages
  • #2281713
    Cyril.a
    Participant
    Initié WordPress
    5 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé :
    • Extensions en place :
    • Nom de l’hébergeur :
    • Adresse du site :

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

    Je souhaite mettre en place un utilisateur qui a accès au backnd et à mon plugin SEO pour pouvoir le configurer (uniquement ce plugin) et pas le reste du backend.

    Comment dois je faire svp ?

     

    Merci.

    #2281714
    ferman
    Participant
    Maître WordPress
    1364 contributions

    Bonjour,

    Si le plugin SEO a des “roles” particuliers (il en a certainement), vous pouvez vous inspirer de cet article (exemple donné pour All in One SEO pack)

    #2281838
    Cyril.a
    Participant
    Initié WordPress
    5 contributions

    Bonjour,

    Merci pour votre réponse, malheureusement non, le plugin SEO Press n’a pas de rôle qui se génèrent en meme temps que l’installation.

    Je souhaiterai simplement pouvoir donner des accès “admin” ou “modérateur”  et qu’ils puissent voir le tableau de bord que je choisi pour ce rôle spécifique.

    #2281922
    ferman
    Participant
    Maître WordPress
    1364 contributions

    Bonjour,

    J’ai testé une solution php/css qui pourrait peut-être convenir si vous n’avez pas un nombre trop important de plugins. L’idée est de masquer dans l’admin les éléments que l’on ne veut pas montrer suivant les rôles. Il y a deux zones affectées: le menu du tableau de bord admin et la partie droite (“form”) de la page.

    • Les deux premiers “echo” cachent la liste des extensions activées ou non.
    • Les 3e, 4e et 5e”echo” rétablissent l’affichage du plugin “client-portal” (seulement  case nom et activer/désactiver).
    • Pour illustrer la méthode les 6e et 7e  enlèvent pinterest et aiowps du menu

    Il y a une condition, ici avec “administrator” mais qui peut être utilisée avec un “custom role”. Par exemple on peut prendre le role “administrator” et l’enregistrer sous un nouveau nom  avec les mêmes droits que “administrator”. mais il ne pourra avoir accès qu’au plugin sélectionné (SEO press).

    Voir pj 1 (avant) et 2 (après)

    Pour cette partie, je conseille wpfront user role editor. Il marche vraiment bien et est facile d’emploi.

    Voila. il y a peut-être plus simple mais ça marche. Je ne peux pas donner plus de détails car ça dépend des plugins que vous avez (dont la répartition   dans le menu est variable) mais je pense que  .toplevel_page_nom du plugin a {… est valable pour la plupart des extensions (de toute façon il faudra mettre à forte contribution l’inspecteur Firefox !). En espérant que ce sera utile.

     

    function cacherplugins (){
    	
    	if (current_user_can('administrator')){
    	echo '<style>.inactive{display:none;}</style>';
    	echo '<style>.active{display:none;}</style>';
    	echo '<style>.plugin-description{display:none;}</style>';
    	echo '<style>.active[data-slug="client-portal"],td .plugin-title{display:block!important;}</style>';
    	echo '<style>.inactive[data-slug="client-portal"],td .plugin-title{display:block!important;}</style>';
    	echo '<style>.toplevel_page_pinterest-pinit-button-on-hover a {display:none!important;}</style>';
    	echo '<style>.toplevel_page_aiowpsec a {display:none!important;}</style>';	
    }
    }	
    add_filter ('admin_body_class','cacherplugins');	
    add_filter ('adminmenu','cacherplugins');

     

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

    On peut aller plus vite en faisant:

    echo '<style>[class*="toplevel_page_"] a {display:none!important;}</style>';

    En fait comme toute une série de classes commencent de la même manière, c’était évident. Et on utilise moins l’inspecteur.

    #2282110
    Cyril.a
    Participant
    Initié WordPress
    5 contributions

    Tout d’abord, merci pour votre réponse et votre travail. Je me penche dessus dès que je peux.

    Merci Ferman !

    #2282112
    ferman
    Participant
    Maître WordPress
    1364 contributions

    On peut faire encore beaucoup plus simple! Et là, j’ai pris l’exemple de seopress. J’ai omis volontairement la possibilité pour l’utilisateur d’activer/désactiver le plugin. Par contre il a accès à tous les réglages. Chez moi ça fonctionne bien mais je n’ai pas regardé sur tout mon site. Regardez si vous voyez  des erreurs.

    function cacherplugins(){
    	if (current_user_can('administrator')){
    	echo 
    	'<style>.inactive,.active, [class*="toplevel_page_"]{display:none;}
    	[class*="toplevel_page_seopress"]{display:block;}</style>';	 
    }
    }	
    add_filter ('admin_body_class','cacherplugins',10,1);	
    add_action ('admin_menu','cacherplugins',10,0);

    • Cette réponse a été modifiée le il y a 3 weeks et 2 jours par  ferman.
    #2282403
    Cyril.a
    Participant
    Initié WordPress
    5 contributions

    Merci Ferman.

    Petite question, comment puis je entrer en contact avec vous de façon privée ?

    Merci. A bientôt.

    #2282404
    ferman
    Participant
    Maître WordPress
    1364 contributions

    Bonjour,

    Vous avez essayé le code? Comme je vous l’ai dit plus haut il ne concerne que les plugins qui ont en commun “toplevel_page” (chez moi presque tous). Cependant, certains  échappent à cette règle et si vous jugez nécessaire de les cacher également, il faut chercher d’autres règles et pour ça il faut connaître les extensions en question (et qu’elles soient non payantes pour pouvoir y avoir accès et les télécharger).

    comment puis je entrer en contact avec vous de façon privée?

    Ce n’est pas possible et pour des raisons faciles à comprendre pas souhaité. Mais si vous avez des questions +- confidentielles vous pouvez rendre la réponse privée. Elle ne sera lue que par un modérateur ( pas par moi ) mais  on peut toujours se mêler à une discussion qui se poursuit en clair si on pense avoir quelque chose à apporter. On ne peut bien sûr pas contribuer à un échange de réponses tout en mode privé.

     

    • Cette réponse a été modifiée le il y a 3 weeks et 1 jour par  ferman.
    #2282410
    Cyril.a
    Participant
    Initié WordPress
    5 contributions

    Oui je l’ai essayer, ca fonctionne parfaitement. merci.

    Dommage. Très bien, merci.

    #2282411
    ferman
    Participant
    Maître WordPress
    1364 contributions

    Désolé. Pouvez-vous passer le sujet en résolu cela pourra être utile à d’autres, merci.

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