Capabilitate de meniu în WordPress

30 mar. 2011, 18:30:04
Vizualizări: 18.8K
Voturi: 3

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

3
Comentarii

Nu ar trebui să treci un rol (sau roluri) parametrului capability. Acordă-i o capabilitate pe care doar editorii (sau peste) o au, iar pagina va fi disponibilă atât administratorilor cât și editorilor.

t31os t31os
30 mar. 2011 18:57:21

@t31os Te rog să nu mai postezi răspunsurile tale în comentarii, altfel nu pot să-ți acord reputația pe care o meriți. :)

fuxia fuxia
31 mar. 2011 01:12:36

@toscho - Uneori intenționez doar să comentez și să răspund fără să-mi dau seama, sunt pur și simplu prea nerăbdător să mă gândesc înainte să apăs acel buton... îmi pare rău.. :)

t31os t31os
31 mar. 2011 01:28:03
Toate răspunsurile la întrebare 2
0

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
30 mar. 2011 19:40:59
1

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.

30 mar. 2011 19:27:42
Comentarii

level este învechit de ani de zile. Este posibil să fie eliminat în viitorul apropiat.

fuxia fuxia
31 mar. 2011 01:14:29