父类别的Has_Category()

时间:2019-11-11 作者:JnLlnd

是否有办法为属于给定父类别的任何子类别的职位设定条件?下面是一个示例,假设以下类别结构:

新闻、常见问题解答、安装、使用等

if ( has_category( \'FAQ\' ) ) { 
    echo "This page has been updated for Quick Access Popup v10.";
}
else {
    echo "This page has NOT been updated for Quick Access Popup v10 yet.";
}
has\\u category()条件仅包括“FAQ”类别本身中的帖子,而不包括其子类别中的帖子。我知道我可以使用数组并列出每个类别,但这并不方便,需要在添加、删除子类别时进行维护。

has\\u category()文档没有说明父类别(https://developer.wordpress.org/reference/functions/has_category/)

谢谢

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

要执行所需操作,需要获取所需类别的所有子类别的列表,然后进行检查。但您不需要手动编写该列表。您可以使用get_term_children() 要获取子类别和孙类别的ID,请执行以下操作:

$cat_id   = get_cat_ID( \'FAQ\' );
$children = get_term_children( $cat_id, \'category\' );

if ( has_category( $cat_id ) || has_category( $children ) ) {

}