La función body_class de WordPress es bastante útil, ya que añade toda una serie de clases relevantes a la página que se está mostrando, lo cual ayuda a la hora de editar el diseño en función del tipo de página. El problema es que, por alguna razón, no añade el nombre de la categoría en un single post (single.php).

Para eso, puedes usar esta función en functions.php, o en tu plugin de funcionalidades:

En este caso, el resultado sería una clase con nombre “category-ejemplo“, donde “ejemplo” sería el nombre (slug) de la categoría, obviamente. Se podría simplificar, usando solamente el nombre de la categoría sin el prefijo category-, pero de este modo compartirá formato con las clases creadas nativamente por WordPress (mediante post_class(), por ejemplo), o en el archivo de una categoría, donde body_class sí que añade la clase.

Si quieres usar solamente el nombre de la categoría, puedes editar la línea 7 así: $classes[] = $category->nice_name;. O puedes hacer que devuelva cualquier otro valor de esta lista (slugcategory_parent, cat_ID, etc).