Añadir el nombre de la categoría a las clases de body en Wordpress

A la hora de editar nuestra hoja de estilos, tenemos infinidad de posibilidades de aplicar un estilo distinto para cada post o página. Esta infinidad de opciones viene en parte marcada por las distintas clases que podemos tener en cada una de las etiquetas de HTML y que en muchos casos Wordpress genera de forma automática.
En este post, vamos a ver como añadir a la etiqueta <body> de cada post una clase con el nombre de la categoría a la que pertenece dicho post, para ello hacemos lo siguiente.
Nos dirigimos a al archivo functions.php de nuestro theme activo y añadimos el siguiente código al final respetando siempre la sintaxis de PHP:
add_filter('body_class','add_category_to_single'); function add_category_to_single($classes) { if (is_single() ) { global $post; foreach((get_the_category($post->ID)) as $category) { // add category slug to the $classes array $classes[] = $category->category_nicename.'2'; } } // return the $classes array return $classes; }
Este código añadirá una clase con el mismo nombre de la categoría en la que nos encontramos con el número 2 a continuación para evitar que ya exista un estilo en nuestro CSS con ese nombre.
Como podemos ver en la siguiente captura, nos encontramos en un post de la categoría Wordpress y vemos que se ha añadido una clase llamada Wordpress2.