Come aggiungere una classe personalizzata al body per un ID pagina specifico?

30 apr 2013, 10:52:57
Visualizzazioni: 16K
Voti: 3

Ho aggiunto questo codice al file functions.php del mio child theme e uso la nuova classe ma viene applicata a tutto il sito, non solo alla pagina che ho specificato nel codice. Cosa sto sbagliando?

add_filter('body_class','custom_body_class');

function custom_body_class($classes) {
    if( is_page('38034') ) {  // Controlla se è la pagina con ID 38034
        $classes[] = 'new-class';
        return $classes;
    }
}
2
Commenti

Il codice restituisce un errore: > Warning: join() [function.join]: Invalid arguments passed in C:\Users\brad\Desktop\InstantWP_4.3\iwpserver\htdocs\wordpress\wp-includes\post-template.php alla riga 393 class="">

Haymanpl Haymanpl
30 apr 2013 11:12:47

il return $classes; dovrebbe essere fuori dal blocco if( is_page() )

Michael Michael
30 apr 2013 12:24:47
Tutte le risposte alla domanda 2
0

L'ID può/dovrebbe essere fornito senza virgolette (altrimenti se hai una pagina con '38034' come slug/post_name, verrà utilizzata quella invece della pagina con ID 38034). E vuoi return $classes indipendentemente dal fatto che tu abbia aggiunto la tua classe o meno.

add_filter('body_class', 'custom_body_class');
function custom_body_class($classes) {
    if (is_page(38034))
        $classes[] = 'new-class';
    return $classes;
}
30 apr 2013 11:20:24
2

Il nome della tua funzione non corrisponde. Prova così..

add_filter( 'body_class', 'custom_body_class' );

function custom_body_class( $classes ) {
    if ( is_page( '38034' ) ) {
        $classes[] = 'new-class';
        return $classes;
    }
}
30 apr 2013 11:04:02
Commenti

Ho corretto quello che era un mio errore ma continuo a ricevere questo errore > Warning: join() [function.join]: Invalid arguments passed in C:\Users\brad\Desktop\InstantWP_4.3\iwpserver\htdocs\wordpress\wp-includes\post-template.php on line 393 class="">

Haymanpl Haymanpl
30 apr 2013 11:13:14

Dove stai aggiungendo questo codice? Prova ad aggiungerlo al tuo file functions.php.

ferne97 ferne97
30 apr 2013 11:16:46