Agregar una clase de cuerpo con ACF

2

He creado un campo de botón de opción con ACF para que el administrador pueda especificar un color. E.g:

  • azul: azul
  • rosa: rosa

Me gustaría que esto se genere como una clase a través de <body <?php body_class(); ?> en header.php. es posible?

Actualmente estoy generando la clase en header.php así:

<div id="page" class="site <?php the_field('package_colour',$post->ID); ?>">
    
pregunta Sammy The Salmon 18.01.2016 - 12:30

1 respuesta

4

Enganche en el filtro body_class y agrega tu campo allí. Podría ser mejor obtener el ID de get_queried_object_id() en lugar de get_the_ID() .

add_filter( 'body_class', 'wpse_20160118__body_class' );

function wpse_20160118__body_class( $classes ) {

    if ( $package_colour = get_field( 'package_colour', get_queried_object_id() ) ) {

        $package_colour  = esc_attr( trim( $package_colour ) );

        $classes[]       = $package_colour;
    }

    return $classes;
}
    
respondido por el jgraup 18.01.2016 - 12:43

Lea otras preguntas en las etiquetas