La funzione body_class() di WordPress 2.8

Guida alla personalizzazione delle singole pagine di un blog Wordpress, con una semplice funzione php.

La versione 2.8 di WordPress introduce una novità molto utile per chi sviluppa dei temi. E’ stata infatti creata una nuova funzione php, chiamata body_class().

Utilizzandola nel template è possibile avere delle classi differenti sul tag HTML body, a seconda della pagina visualizzata. Questo consente di personalizzarne l’aspetto esclusivamente tramite CSS, senza bisogno di creare template su misura.

Per utilizzarla è sufficiente aggiungerla nel tag body, che di solito è nel template header.php, in questo modo:

<body <?php body_class(); ?>>

Il risultato sulla homepage del blog sarà:

<body class="home blog">

mentre su un singolo articolo (ad esempio con ID 23):

<body class="single postid-23">

E’ possibile anche aggiungere una o più classi personalizzate a piacere, che appariranno insieme alle altre:

<body <?php body_class('nome-classe'); ?>>

Una funzione php analoga, relativa però ai singoli post, è chiamata post_class(): ne ho parlato in passato, trovate la relativa guida a questo indirizzo.

Le potenzialità di queste funzioni sono notevoli, ma credo sia bene utilizzarle solo se veramente necessario. Soprattutto nel caso di body_class(), il rischio è quello di trovarsi il codice inutilmente appesantito. L’elenco completo delle classi stampate dalla nuova funzione è in questo post di WPEngineer.