¿Cómo agregar una clase personalizada al body para un ID de página específico?

30 abr 2013, 10:52:57
Vistas: 16K
Votos: 3

He agregado este código al archivo functions.php de mi tema hijo y uso la nueva clase, pero aplica el estilo a todo el sitio, no solo a la página que agregué en el código. ¿Qué estoy haciendo mal?

add_filter('body_class','custom_body_class');

function custom_body_class($classes) {
    if( is_page('38034') ) { // Verifica si es la página con ID 38034
        $classes[] = 'new-class';
        return $classes;
    }
}
2
Comentarios

El código devuelve un error: > 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 abr 2013 11:12:47

el return $classes; debería estar fuera del if( is_page() )

Michael Michael
30 abr 2013 12:24:47
Todas las respuestas a la pregunta 2
0

El ID puede/debe proporcionarse sin comillas (de lo contrario, si tienes una página con '38034' como slug/post_name, se usará esa en lugar de la página con el ID 38034). Y debes return $classes independientemente de si agregaste tu propia clase o no.

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

El nombre de tu función no coincide. Prueba esto..

add_filter( 'body_class', 'custom_body_class' );

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

Corregí ese error que era mi culpa pero sigo recibiendo este error > 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 abr 2013 11:13:14

¿Dónde estás agregando este código? Intenta agregarlo a tu archivo functions.php.

ferne97 ferne97
30 abr 2013 11:16:46