我需要检查不止一个子类别的函数。例如,假设我有两个类别:酒吧和音乐家。此外,音乐人类别有爵士乐,摇滚,流行音乐作为一个子类别。但是,它们也是酒吧的子类别。
我想为酒吧写不同的代码-爵士乐,音乐家-爵士乐类别。
这个代码结构不适合我。
if( has_term( 'jazz', 'genre' ) ) {
// do something
}
因为我把爵士乐分类在酒吧和音乐家下面。
当我用这种结构编写代码时,它也不起作用。
if( has_term( array('musicians','jazz'), 'genre' ) ) {
// do something
}
我怎样才能解决这个问题?
发布于 2020-11-23 06:10:09
在这里阅读此解决方案:有_类别()为父类别
我尝试了一种类似的方法,而不是把所有的术语都压下来,而是使用上面的解决方案来利用类别术语或它的任何子类别:
add_filter('the_content', 'ssws_add_content');
function ssws_add_content($content) {
$cat_id = get_cat_ID('accommodations');
$children = get_term_children($cat_id, 'category');
$ssws_custom_text = 'Accomodation';
if (is_single() && (has_category($cat_id) || has_category($children))) {
$content .= $ssws_custom_text;
}
return $content;
}
https://wordpress.stackexchange.com/questions/377506
复制相似问题