Come ottenere tutte le capabilities di un ruolo utente esistente
Come posso ottenere TUTTE le capabilities di un ruolo utente esistente (es. Autore)? Le userò per duplicare rapidamente un ruolo utente esistente, quindi creare un nuovo ruolo e assegnare o rimuovere capabilities al nuovo ruolo personalizzato.

Suggerisco di non modificare i ruoli e le capacità predefinite, potrebbe evitarti problemi in futuro quando avrai una serie di ruoli e capacità personalizzati.
Per rispondere alla tua domanda, farò un esempio: ho bisogno di un nuovo ruolo/gruppo di utenti che abbia quasi le stesse capacità di un Amministratore, ma senza la possibilità di modificare i plugin e il tema. Per farlo:
Supponiamo che tu voglia copiare le capacità esistenti dell'Amministratore, puoi farlo con:
$admin_role_set = get_role( 'administrator' )->capabilities;
Puoi creare un nuovo ruolo utente utilizzando add_role, consulta il manuale per maggiori dettagli. Possiamo quindi utilizzare l'elenco delle capacità ottenuto dal punto #1 con:
$role = 'content_admin'; $display_name = 'Content Admin'; add_role( $role, $display_name, $admin_role_set );
Controllando l'elenco delle Ruoli e Capacità dal manuale, dovremo rimuovere le capacità
edit_plugins
eedit_themes
, possiamo farlo utilizzandoremove_cap()
:remove_cap( 'content_admin', 'edit_plugins' ); remove_cap( 'content_admin', 'edit_themes' );

Nel 3° passo che descrivi, il ruolo fornito al metodo remove_cap
non dovrebbe essere 'content_admin' invece di 'editor' se stai continuando l'esempio di rimozione della capacità di modificare i plugin e il tema per il nuovo ruolo personalizzato creato?
