Cómo agregar una clase de cuerpo a todas las páginas interiores excepto la página de inicio

Quiero agregar una clase a la etiqueta de cuerpo de todas las páginas EXCEPTO la página de inicio. Ahora mismo lo tengo.

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

Pero agrega «interior» a TODAS las páginas, incluida la página de inicio.

¿Cuál es la mejor forma estándar de agregar una clase a la etiqueta del cuerpo?

Respuesta

Pruébelo:

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

O esto:

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

Comentarios

  • ¡Gracias por tu respuesta! sin embargo, también agrega interior a la página ' home '.
  • Curiosamente, funcionó aquí.
  • Pruébelo: < body <? php body_class (! is_home () & &! is_front_page ()? " interior ": " "); ? > >
  • Ajusté mi configuración de lectura a estática y no he seleccionado ninguna página & funcionó.

Respuesta

El filtro body_class se puede utilizar para esto.

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; } 

Comentarios

  • muy agradable. Una razón más para no copiar header.php en el directorio de mi plantilla secundaria si no ' no necesito hacer modificaciones adicionales al archivo.

Respuesta

Utilice el filtro body_class para agregar cualquier clase a la etiqueta del cuerpo en WordPress.

Agrega el siguiente código a tu archivo functions.php.

Agrega la clase a la etiqueta del cuerpo de todas las páginas.

 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; } 

Excluir página de inicio

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; } 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *