Corsi on-line

Modificare i nomi dei ruoli in WordPress

Il Blog engine/CMS WordPress basa il suo funzionamento su un sistema di separazione dei ruoli a causa del quale non tutti gli utenti avranno gli stessi privilegi di accesso alle funzionalità disponibili; in questo caso parliamo del classico sistema ACL (Access Control List) che nel caso specifico dell’applicazione prevede quattro ruoli predefiniti: Administrator, Editor, Author, Contributor e Subscriber.

WordPressIl gestore dell’installazione avrà in ogni momento la possibilità di creare nuovi utenti, ma nella pratica di default non esiste una funzionalità che permetta di modificare il nome dei ruoli disponibili tramite il pannello di amministrazione; ciò che non potrà essere effettuato da interfaccia grafica sarà invece possibile attraverso una semplice modifica da eseguire a carico del file function.php di WordPress. Si tratta in sostanza di inserire alcune righe di codice sorgente tramite uno snippet.

Di seguito viene proposto lo script completo tramite il quale si avrà la possibilità di creare una funzione per la modifica dei nomi dei ruoli, essa diventerà operativa attraverso l’inclusione di una nuova action indicata alla fine dello snippet:

function wps_change_role_name() {
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();
    $wp_roles->roles['contributor']['name'] = 'Homer';
    $wp_roles->role_names['contributor'] = 'Homer';
}
add_action('init', 'wps_change_role_name');

Chiaramente i parametri passati alla quinta e alla sesta riga potranno essere modificati arbitrariamente a seconda delle esigenze. Da notare che per il suo funzionamento lo script effettua una chiamata alla classe WP_Roles; quest’ultima è notoriamente una delle più difficili da estendere tramite plugin, questo perché una delle sue poche vie d’accesso è il metodo set_role() con il quale impostare appunto i ruoli per l’ACL.

Via WpRecipes

Post correlati
I più letti del mese
Tematiche