¿Estás buscando una manera de añadir la categoría de la entrada a las clases del elemento body para entradas individuales? Este pequeño fragmento tomará todas las categorías asignadas a un post y añadir cada uno de ellos como una clase de cuerpo con el patrón sgl-cat-{category-name}
.
Instrucciones:
Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:
add_filter(‘body_class’,’add_category_to_single’,10,2); function add_category_to_single($classes, $class) { if (is_single() ) { global $post; foreach((get_the_category($post->ID)) as $category) { $classes[] = 'sgl-cat-'.$category->category_nicename; } } return $classes; }
Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo copiar / pegar correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.
Si le ha gustado este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: Revisión de CSS Hero: #1 WordPress Theme Customization Plugin.
This is my closest post to what I need.
How can I use this code to show the category in an that contain all information about de post.
I like to do this because I want to create different style for every category that I have.
I try dirrectly put the body_class in the but I don’t need all this informatiocn (home blog logged-in admin-bar no-customize-support wp-custom-logo .category uncategorized) I only need this (uncategorized) because is the category of the post.
It works for me. Thank you!
Interestingly, when I copy the code, the single quote was copied as Chinese single quote “‘’”, I had to manually change it to make it work. I don’t believe it is your problem, still trying to figure out how that happened.
Great, but you need one correction or the above code will give a fatal error. The hook should have:
add_filter(‘body_class’,’add_category_to_single’,10,2) since you pass in 2 parameters.
Bruce, The world is a beautiful place because of people like you! 😀
Thanks for saving me some time. 🙂