Come aggiungere classi al tag body in base al ruolo dell’utente WordPress
09/05/25
2 minuti

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

  1. Installa il plugin “Code Snippets”
  2. Crea un nuovo snippet
  3. Incolla il codice e attiva

✅ Alternativa: inserimento nel file functions.php

  1. Vai su: /wp-content/themes/tuo-tema-child/functions.php
  2. Incolla lo snippet in fondo al file
  3. 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.


Hai bisogno di un sito web moderno e funzionale?
Richiedilo Ora!