Je veux ajouter la catégorie currenty à la classe body.
Comment dois-je modifier mon code actuel pour ajouter également la catégorie actuelle en tant que classe de corps à la section is_singular( 'knowledgebase' )
?
Mon code actuel ressemble à ceci:
function add_body_class( $classes ) {
global $pakb;
if( is_page( $pakb->get( 'kb_page' ) ) && ! is_null( $pakb->get( 'kb_page' ) ) ) {
$classes[] = 'pakb-main';
} elseif ( is_tax( 'knowledgebase_category' ) ) {
$classes[] = 'pakb-category';
} elseif ( is_singular( 'knowledgebase' ) ) {
$classes[] = 'pakb-single';
}
return $classes;
}
À la fin du processus, vous devriez pouvoir compter sur la configuration du contexte, même en dehors de la boucle.
Sur le dessus de ma tête, quelque chose comme ça devrait marcher:
$categories = wp_get_post_categories( get_the_ID(), [ 'fields' => 'names' ] );
Ici, je ne comprends pas ce qui est global $pakb
.
Mais s'étendant à la réponse la plus rare:
add_filter('body_class', 'add_body_class');
function add_body_class($classes) {
global $pakb;
global $post;
if( is_page( $pakb->get( 'kb_page' ) ) && ! is_null( $pakb->get( 'kb_page' ) ) ) {
$classes[] = 'pakb-main';
} elseif ( is_singular( 'knowledgebase' ) ) {
// getting all category name related to this post
$categories = wp_get_post_categories( $post->ID, [ 'fields' => 'names' ] );
$classes[] = $categories;
}
return $classes;
return $classes;
}