检查帖子的类别是x还是x的子项

时间:2017-04-29 07:30:43

标签: php wordpress categories

我的wordpress网站的类别具有简单的层次结构 -

  • 博客
    • 角色转换
    • Urod the Last Show
    • 新闻

我正在使用下面的if语句来捕获帖子是否属于博客类别或任何子类别 - 并且它有效 - 但是如果不能只检查当前类别的父级,那就太愚蠢了(加上我可能想稍后添加类别。

nullptr

我搜索并尝试了所有建议 - 包括if ( is_category('blog') || in_category(array('role-shift', 'urod-the-last-show', 'news')) ) - 但没有任何效果。

请帮忙!

罗伯特

1 个答案:

答案 0 :(得分:0)

$categories = get_the_category(); //returns categories
$thiscat = $categories[0];

$parent_id = $thiscat->parent; //the parent id
$parent = get_category($parent_id) //this returns the parent category as an object

//use id or slug of category you are searching for
if( $parent_id == 1 || $thiscat->slug == 'blog' ){
//this is a child of blog or the blog page
}

这应该可以解决问题。 这将确定当前类别是否是博客页面的子级。 第一部分get_category返回当前类别。

然后,您可以从当前类别中获取父ID,并使用“get_the_category_by_ID”获取父类别对象。

然后你可以检查你是否属于你想要的父类别。