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.
