Capacità del menu in WordPress
È possibile specificare due gruppi di utenti (ad esempio amministratori e editori) nel campo delle capacità del menu admin? Ho provato il seguente codice ma non funziona:
add_submenu_page(
'my-top-level-handle',
'Titolo pagina',
'Titolo sottomenu',
array('administrator', 'editor'),
'my-submenu-handle',
'my_magic_function'
);
Messaggio di errore:
Warning: Illegal offset type in isset or empty in C:\wamp\www\wordpress\wp-includes\capabilities.php on line 712

Il parametro capability della funzione add_submenu_page() può accettare solo una singola capability, quindi se stai utilizzando i ruoli predefiniti puoi selezionare una capability dalla lunga lista che sia comune sia agli amministratori che agli editori (usa una di queste liberamente):
- moderate_comments
- manage_categories
- manage_links
- unfiltered_html
- edit_others_posts
- edit_pages
- edit_others_pages
- edit_published_pages
- publish_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

Come ha detto t31os, puoi utilizzare le capacità (capabilities) invece dei ruoli in quel caso. Un modo per farlo è usare le capacità di base del core. (Un metodo più avanzato consiste nell'aggiungere una capacità personalizzata ai ruoli che preferisci.) Le capacità predefinite si trovano in wp-admin/includes/schema.php
nelle funzioni chiamate da populate_roles()
.
Se stai utilizzando ruoli/capacità standard, puoi specificare solo amministratori e editori tramite la capacità level_7
o edit_others_posts
o diverse altre.
