Su come creare un ruolo utente personalizzato in WordPress possiamo reperire online varie metodologie, tra cui l’utilizzo di appositi e svariati tipi di plugin.
In questo articolo vi propongo di evitare l’utilizzo di plugin in quanto ritengo che meno se ne usino meglio è per il vostro sito.
Metodo manuale per creare un ruolo utente
Modifichiamo e aggiungiamo al file functions.php del tema child del nostro sito, il seguente codice:
$result = add_role('cliente', 'Cliente', array( 'read' => true, 'edit_posts' => true, 'delete_posts' => true, ));
In questo caso ho aggiunto il nuovo ruolo “Cliente”, al quale ho dato la possibilità attraverso il valore true di leggere (read), modificare (edit_posts) e cancellare (delete_posts) post (sostituire true con false, se invece volete negare).
Queste sono le opzioni basilari, ma ci sono molte altre opzioni disponibili:
Per i post:
// Posts 'edit_posts' => true, //Access to Posts, Add New, Comments and moderating comments. 'create_posts' => true, // Allows user to create new posts 'delete_posts' => true, // Can delete posts. 'publish_posts' => true, // Can publish posts. Otherwise they stay in draft mode. 'delete_published_posts' => true, // Can delete published posts. 'edit_published_posts' => true, // Can edit posts. 'edit_others_posts' => true, // Can edit other users posts. 'delete_others_posts' => true, // Can delete other users posts.
Per le pagine:
// Pages 'edit_pages' => true, // Access to Pages and Add New (page). 'publish_pages' => true, // Can publish pages. 'edit_other_pages' => true, // Can edit other users pages. 'edit_published_ pages' => true, // Can edit published pages. 'delete_pages' => true, // Can delete pages. 'delete_others_pages' => true, // Can delete other users pages. 'delete_published_pages' => true, // Can delete published pages.
Per rimuovere un ruolo utente usiamo:
/* remove the unnecessary roles remove_role('slug del ruolo da rimuovere');