È possibile aggiungere nuovi ruoli utente?
Mi chiedo se sia possibile creare un nuovo ruolo utente e assegnargli capacità limitate specifiche?
Vorrei avere alcuni utenti che possono solo aggiungere eventi al calendario. Dovrebbero poter lavorare solo all'interno della tassonomia del calendario eventi e modificare/aggiungere i loro post ma non pubblicarli, qualcosa di simile al ruolo di contributore ma più limitato!

Sì. WordPress ha un robusto sistema integrato di Ruoli e Capacità progettato proprio per fare ciò che stai cercando.
Per aggiungere un nuovo ruolo, utilizza la funzione add_role()
nel file functions.php
del tuo tema o in un plugin in questo modo:
$role = add_role( 'event_manager', 'Gestore Eventi', array(
'read' => true, // True permette questa capacità
) );
if ( null !== $role ) {
echo 'Evviva! Nuovo ruolo creato!';
} else {
echo 'Ops... il ruolo event_manager esiste già.';
}
Per aggiungere una nuova capacità, utilizza la funzione add_cap()
in questo modo:
$role = get_role( 'event_manager' );
$role->add_cap( 'manage_events' );

Va notato che è necessario aggiungere (e rimuovere) un ruolo solo una volta. Vengono memorizzati nel database, non c'è bisogno di farlo a ogni caricamento di pagina. Inoltre, secondo me, i ruoli sono più adatti ai plugin.

Sì, è sicuramente possibile con un plugin come Members. Puoi creare nuovi ruoli e capacità, ma ricorda - dovrai effettivamente iniettare queste capacità personalizzate nel tuo plugin. Quello che potresti voler fare è semplicemente installare il plugin e poi modificare il ruolo di contributore esistente per adattarlo alle tue esigenze.
Per un controllo davvero granulare, potresti combinarlo con il plugin Role Scoper. Grazie!

Oltre alle soluzioni basate esclusivamente sul codice, suggerirei anche questo plugin gratuito che utilizzo da diversi anni e che continuo a usare. È davvero stabile e affidabile, e viene aggiornato regolarmente.
