等同于子类别的in_ategory()

时间:2011-09-08 作者:pixeline

Wordpress提供了诸如is\\u home()和is\\u category()之类的条件。我想要一个函数来告诉我当前上下文是否属于子类别(因此,不是父类别)。

我尝试了这一点,但在任何类别(和子类别)上下文中都返回true

function is_subcategory($category) {
    if (is_category()) {
        foreach ($category as $c) {
            if ($c->parent > 0) {
                return true;
            }
        }
        return false;
    }
}

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

尝试以下操作:

function is_subcategory($category = null) {
    if (is_category()) {
        if (null != $category){
            $cat = get_category($category);
        }else{
            $cat = get_category(get_query_var(\'cat\'),false);
        }
        if ($cat->parent == 0 ){
            return false;
        }else{
            return true;
        }
    }
    return false;
}
用法:

//to check if the current context is a subcagetory:

if (is_subcategory()){
    //its a subcategory;
}else{
    //nope is aparent category
}

//to check if a specific category is a subcategory pass its ID, eg:
if (is_subcategory(12)){
    //yes category with the id of 12 is a subcategory;
}else{
    //nope is aparent category
}

结束

相关推荐

post categories

我有一些帖子,我想把它们分为三类:新闻、事件和新闻稿,然后我有三个页面使用相同的模板。我想在相关页面上显示这些帖子,以便在新闻页面上发布新闻帖子。有人能告诉我什么是最好的方式吗。我想这很简单,但我对Wordpress还是相当陌生的。非常感谢,