web-dev-qa-db-fra.com

Appliquer des rôles à un sous-menu admin (par exemple Apparence -> Menus)

Longtemps tapageur, mais première affiche. J'ai effectué des recherches approfondies dans Google et n'arrive tout simplement pas à trouver de réponse à ce problème.

J'utilise l'excellent 'plugin' Membres 'de Justin Tadlock pour les rôles et les autorisations sur plusieurs installations clientes de WP. J'ai récemment déployé un thème où le client ne devrait avoir accès qu'à l'élément Apparence -> Menus, mais à aucun des autres sous-éléments du menu Apparence de l'administrateur.

Lorsqu'il est activé, le rôle "edit_theme_options" permet à l'utilisateur d'accéder aux "thèmes", aux "widgets" et aux "menus". Comment pourrais-je filtrer le sous-menu pour que, si le rôle 'edit_custom_menus' soit attribué, le lien 'Menus' s'affiche?

1
Philip Downer

Après des recherches plus approfondies et après avoir découvert la variable globale $ submenu, j'ai réussi à trouver un tutoriel utile sur la suppression des sous-menus de l'administrateur WordPress .

Je posterai avec du code quand une solution complète sera mise en œuvre et intégrée au plugin.

1
Philip Downer

Je n'utilise pas le plugin moi-même, donc parlant théoriquement. Il y a deux parties à ceci:

  1. Déterminez si l'utilisateur a un rôle pouvant voir les menus. La documentation du plugin décrit la fonction current_user_has_role() pour cela.
  2. Cacher les menus si le rôle ne convient pas. Je n'ai rien testé à offrir, essayez ceci pour commencer: Comment supprimer des menus dans le tableau de bord WordPress (WpRecipes)
0
Rarst