WordPress deve gran parte della sua flessibilità nell'assegnare stili CSS alle sezioni di un sito al fatto che l'elemento HTML body
riceve di volta in volta delle classi diverse che, tramite la cascata e la specificità CSS, ci permettono di dare stili specifici a sezioni specifiche. Vedremo ora come aggiungere delle classi CSS di nostra scelta all'elemento body
in base alla sezione in uso del nostro tema.
Pochi temi permettono di assegnare classi CSS all'elemento body
, limitandosi di fatto ad usare CSS globali e non specifici. Possiamo ovviare a questa situazione creando una funzione ad hoc nel file functions.php
del nostro tema:
function assign_body_classes( $classes ) {
if ( ! is_multi_author() ) {
$classes[] = 'single-author';
}
if ( is_singular() && ! is_home()) {
$classes[] = 'singular';
}
if(is_page_template( 'contact.php')) {
$classes[] = 'contacts';
}
return $classes;
}
add_filter( 'body_class', 'assign_body_classes' );
Il filtro che abbiamo appena creato genera un array di classi CSS che si applicano all'elemento body
solo se vengono soddisfatti i requisiti dei test effettuati all'interno della funzione. Ovviamente potete effettuare tanti test quante sono le condizioni che volete soddisfare.