首页 > 解决方案 > 根据分配的标签添加自定义类

问题描述

WordPress 厘米。我有一个自定义分类法——“csgroup”,它是术语——“专业页面”。<body>当我将术语“专业页面”分配给页面时,我需要添加自定义类“新类” 。这是 function.php 文件中的函数,但这不起作用:

function custom_body_classes( $classes ){
    if ( is_tag('csgroup', 'expertise-page') ) {
        $classes[] = 'new-class';
    }
    return $classes;
}
add_filter( 'body_class', 'custom_body_classes' );

标签: phpwordpressfunctiontaxonomyterm

解决方案


is_tag(); 功能只会在标签存档页面上运行,而不是在每个页面、帖子或自定义帖子类型上运行;我猜你正在寻找。

检查分类(例如 csgroup)中的任何术语(例如专业知识页面)是否分配给当前帖子、页面或自定义帖子类型;您将不得不使用 WordPress 中的has_term()函数。

此功能确认当前页面、帖子或自定义帖子类型是否附有您所需的分类术语。

您可以在 WordPress 开发人员文档中了解有关此功能的更多信息以及更多信息。这是它的链接;has_term()

希望这能解释并解决您的问题。

function custom_body_classes( $classes ){
    if ( has_term('expertise-page', 'csgroup') ) {
        $classes[] = 'new-class';
    }
    return $classes;
}
add_filter( 'body_class', 'custom_body_classes' );

推荐阅读