Capabilitate de meniu în WordPress
Este posibil să specifici două grupuri de utilizatori (de ex. administratori și editori) în câmpul de capabilitate pentru meniul de administrare? Am încercat următoarele dar nu funcționează:
add_submenu_page(
'my-top-level-handle',
'Titlul paginii',
'Titlul submeniului',
array('administrator', 'editor'), // Aici încercăm să adăugăm două roluri
'my-submenu-handle',
'my_magic_function'
);
Mesaj de eroare:
Warning: Illegal offset type in isset or empty in C:\wamp\www\wordpress\wp-includes\capabilities.php on line 712
Parametrul de capabilitate al funcției add_submenu_page() poate accepta doar o singură capabilitate, așa că dacă utilizați rolurile predefinite, puteți selecta o capabilitate din lista lungă pe care atât administratorii, cât și editorii o au (puteți utiliza oricare dintre acestea liber):
- 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
După cum a menționat t31os, poți folosi capabilități în loc de roluri în acest caz. O metodă de a face acest lucru este utilizarea capabilităților de bază. (O metodă mai avansată este adăugarea unei capabilități personalizate la rolurile pe care le dorești.) Capabilitățile implicite se găsesc în wp-admin/includes/schema.php în funcțiile apelate de populate_roles().
Dacă folosești roluri/capabilități standard, poți specifica doar administratorii și editorii prin capabilitatea level_7 sau edit_others_posts sau mai multe altele.