Cum să obții toate capabilitățile unui rol de utilizator existent
Cum pot obține TOATE capabilitățile unui rol de utilizator existent (de exemplu, Autor)? Îl voi folosi pentru a duplica rapid un rol de utilizator existent, apoi pentru a crea un nou rol și a atribui sau elimina capabilități pentru un nou rol personalizat.

Sugerez să nu vă amestecați în rolurile și capabilitățile existente în starea lor implicită, acest lucru vă poate evita probleme în viitor când veți avea mai multe roluri și capabilități personalizate.
Pentru a răspunde la întrebarea ta, voi da un exemplu: Am nevoie de un nou rol/grup de utilizatori care are aproape aceleași drepturi ca Administratorul, dar nu are capabilitatea de a edita plugin-uri și tema. Pentru a face asta:
Să presupunem că doriți să copiați capabilitățile existente ale Administratorului, faceți asta folosind:
$admin_role_set = get_role( 'administrator' )->capabilities;
Puteți crea un nou rol de utilizator folosind add_role, consultați manualul pentru mai multe detalii. Apoi putem folosi lista de capabilități pe care o avem de la pasul #1 folosind:
$role = 'content_admin'; $display_name = 'Content Admin'; add_role( $role, $display_name, $admin_role_set );
Prin verificarea listei Roluri și Capabilități din manual, vom avea nevoie să eliminăm capabilitățile
edit_plugins
șiedit_themes
, putem realiza acest lucru folosindremove_cap()
:remove_cap( 'content_admin', 'edit_plugins' ); remove_cap( 'content_admin', 'edit_themes' );

În pasul 3 pe care îl descrii, rolul furnizat metodei remove_cap
nu ar trebui să fie 'content_admin' în loc de 'editor' dacă continui exemplul de eliminare a capacității de a edita plugin-uri și tema pentru noul rol personalizat creat?
