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.
