Come aggiungere una classe body a tutte le pagine interne eccetto la home page

Voglio aggiungere una classe al tag body a tutte le pagine TRANNE la homepage. In questo momento ce lho.

<?php body_class("interior"); ?>

Ma aggiunge “interno” a TUTTE le pagine inclusa la home page.

Qual è il modo standard migliore per aggiungere una classe al tag body?

Risposta

Prova:

<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?> 

Oppure questo:

<?php body_class( ! is_home() ? "interior" : "" ); ?> 

Commenti

  • Grazie per la tua risposta! tuttavia aggiunge ancora linterno alla pagina ' home '.
  • Stranamente, ha funzionato qui.
  • Provalo: < body <? php body_class (! is_home () & &! is_front_page ()? " interior ": " "); ? > >
  • Ho modificato le mie impostazioni di lettura su statico e non ho selezionato pagine & ha funzionato.

Rispondi

Il filtro body_class può essere utilizzato per questo.

add_filter( "body_class", "body_class_wpse_85793", 10, 2 ); function body_class_wpse_85793( $classes, $class ) { // This one overrides all original classes if( is_home() ) $classes = array( "interior" ); // This one simply adds a new class //if( is_home() ) // $classes[] = "interior"; return $classes; } 

Commenti

  • molto carino. Un motivo in più per non copiare header.php nella directory del mio template figlio se ' non ho bisogno di apportare ulteriori modifiche al file.

Risposta

Utilizza il filtro body_class per aggiungere qualsiasi classe al tag body in WordPress.

Aggiungi il codice seguente al tuo file functions.php.

Aggiungi una classe al tag body per tutte le pagine.

 add_filter("body_class", "wp_body_class"); function wp_body_class($class) { $class[] = "my-custom-class"; // Add your class name here. Multiple class names can be added "classname1 classname2". return $class; } 

Escludi home page

if (!is_front_page() ) { // exclude home or any other page. add_filter("body_class", "wp_body_class"); } function wp_body_class($class) { $class[] = "my-custom-class"; // Add your class name here. Multiple class names can be added "classname1 classname2". return $class; } 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *