web-dev-qa-db-fra.com

Possibilité de menu dans Wordpress

Est-il possible de spécifier deux groupes d'utilisateurs (par exemple, des administrateurs et des éditeurs) dans le champ de capacité du menu administrateur? J'ai essayé ce qui suit mais ça ne marche pas:

add_submenu_page(
     'my-top-level-handle',
     'Page title',
     'Sub-menu title',
      array('administrator', 'editor'),
     'my-submenu-handle',
     'my_magic_function'
);

message d'erreur:

Avertissement: Type de décalage illégal dans isset ou vide dans C:\wamp\www\wordpress\wp-includes\capacités.php à la ligne 712

2
Omar Abid

Le paramètre de capacité de add_submenu_page () function ne peut prendre qu'une seule capacité. Par conséquent, si vous utilisez les rôles prédéfinis, vous pouvez sélectionner une fonctionnalité dans la longue liste si les administrateurs et les éditeurs en ont une:

  • commentaires modérés
  • gérer les catégories
  • gérer_liens
  • unfiltered_html
  • edit_others_posts
  • edit_pages
  • edit_others_pages
  • edit_published_pages
  • publier_pages
  • delete_pages
  • delete_others_pages
  • delete_published_pages
  • delete_others_posts
  • delete_private_posts
  • edit_private_posts
  • read_private_posts
  • delete_private_pages
  • edit_private_pages
  • read_private_pages
5
Bainternet

Comme t31os l’a dit, vous pouvez utiliser des fonctionnalités plutôt que des rôles. Une façon de faire est d'utiliser les capacités de base. (Une méthode plus avancée consiste à ajouter une fonctionnalité personnalisée aux rôles de votre choix.) Les majuscules par défaut sont dans wp-admin/includes/schema.php dans les fonctions appelées par populate_roles().

Si vous utilisez des rôles/caps standard, vous pouvez spécifier uniquement les administrateurs et les éditeurs à l'aide du cap level_7 ou du edit_others_posts ou de plusieurs autres.

1
Andy