Hai bisogno di un sito web moderno e funzionale?
Richiedilo Ora!Come aggiungere classi al tag body in base al ruolo dell’utente WordPress
Hai bisogno di modificare l’aspetto del tuo sito WordPress a seconda che l’utente sia un amministratore, un editor, un cliente WooCommerce o un utente non loggato? Ti basta un piccolo snippet PHP per aggiungere classi CSS dinamiche al tag <body>
, e potrai personalizzare tutto con stile.
Vediamo come funziona e come usarlo nel tuo sito!
Perché aggiungere classi CSS dinamiche al <body>
Aggiungere classi al tag <body>
è una tecnica semplice ma potentissima per:
- 🧑💼 Mostrare o nascondere elementi in base al tipo di utente
- 🎯 Personalizzare layout o contenuti per utenti loggati / non loggati
- 🛍️ Applicare stili diversi a clienti WooCommerce o admin
- 📱 Migliorare l’esperienza utente con design su misura
Con lo snippet che stai per vedere, potrai identificare dinamicamente il ruolo dell’utente e usarlo come classe CSS, direttamente nel body del sito.
Snippet PHP: classi body
in base al ruolo utente
Ecco il codice da inserire nel tuo tema o tramite plugin:
add_filter('body_class', 'aggiungi_classe_body_ruolo_utente');
function aggiungi_classe_body_ruolo_utente($classes) {
if (is_user_logged_in()) {
$current_user = wp_get_current_user();
if (!empty($current_user->roles)) {
foreach ($current_user->roles as $role) {
$classes[] = 'ruolo-utente-' . sanitize_html_class($role);
}
}
} else {
$classes[] = 'utente-non-loggato';
}
return $classes;
}
Come funziona il codice
Controlla se l’utente è loggato
Lo snippet usa:
is_user_logged_in()
per verificare se l’utente ha fatto login. Se non è loggato, aggiunge una classe generica:
utente-non-loggato
Recupera e trasforma il ruolo dell’utente
Se l’utente è autenticato, il codice:
wp_get_current_user()
ottiene l’oggetto utente, e cicla tutti i suoi ruoli (es. administrator
, editor
, customer
) per generare classi tipo:
<body class="ruolo-utente-administrator">
Come installare lo snippet
✅ Metodo consigliato: plugin Code Snippets
- Installa il plugin “Code Snippets”
- Crea un nuovo snippet
- Incolla il codice e attiva
✅ Alternativa: inserimento nel file functions.php
- Vai su:
/wp-content/themes/tuo-tema-child/functions.php
- Incolla lo snippet in fondo al file
- Salva
⚠️ Usa un tema child per non perdere le modifiche con gli aggiornamenti.
Conclusione: personalizzazione smart con poche righe di codice
Con questo semplice snippet, puoi rendere il tuo sito WordPress più intelligente e flessibile, aggiungendo classi dinamiche al tag <body>
in base al ruolo dell’utente.
È una soluzione ideale per:
✅ Applicare CSS mirato senza plugin pesanti
✅ Migliorare la user experience personalizzando layout e contenuti
✅ Gestire in modo avanzato l’interfaccia per clienti, editor, admin o utenti non loggati
Che tu voglia nascondere blocchi, cambiare stili o mostrare messaggi diversi, ora hai tutto ciò che ti serve per controllare ogni dettaglio dell’interfaccia in base a chi sta navigando.
E il bello? Funziona con tutti i temi, è leggero e non richiede plugin esterni.