我有一个自定义的帖子分类,定义如下:
// Register custom taxonomy for posts
function custom_taxonomy_page_type_for_posts() {
$labels = array(
'name' => _x( 'Page Types', 'taxonomy general name' ),
'singular_name' => _x( 'Page Type', 'taxonomy singular name' ),
...
$args = array(
'hierarchical' => false,
...
'rewrite' => array( 'slug' => 'page-type' ),
'show_in_rest' => true,
);
register_taxonomy( 'page_type', 'post', $args );
}
字符串
在下面的代码中,我想添加一个body类,这取决于当前帖子是否被分配了“Briefing”的页面类型。
/* This either adds the class "vn-briefing" or "vn-not-briefing" to the body tag. */
function add_page_type_css_class($classes) {
if (is_singular('post')) {
// Check if the post has a "Page Types" taxonomy assigned with ID 187
if (has_term('Briefing', 'Page Types')) {
$classes[] = 'is-briefing';
} else {
$classes[] = 'is-not-briefing';
}
}
return $classes;
}
add_filter('body_class', 'add_page_type_css_class');
型
它总是返回false,即使文章被分配了ID=187 Briefing的“页面类型”。
我期望函数返回true,如果文章被分配了一个“简报”的页面类型,但它没有。
我也试过:
has_term('Briefing', 'Page Type')
has_term('Briefing', 'page-type')
型
我该怎么做?
1条答案
按热度按时间njthzxwz1#
正确的语法应该是has_term('briefing ','page_type')。下面是更新后的代码:
字符串