如何识别帖子的类别?

时间:2013-09-07 作者:user1695063

我希望我的插件在加载帖子之前识别帖子的类别。我写了这段代码,但它是在分类页面中工作的,而不是在由我指定分类的帖子页面中。

function checkUser() {
    if(is_category(\'programming\')){//it doesn\'t work when post with "programming" category is being displayed
            echo "Bingo!";
        include_once (\'TEMPLATEPATH/get-messages.php\');
        exit();
    }
} 
add_action(\'template_redirect\', \'checkUser\');

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

is_single() 旨在处理职位类型,而不是类别。

要检查类别,应使用is_category(\'programming\').

请注意is_category 使用类别存档,而不是单一视图。

因此,如果您想签入当前是单个视图并且具有“编程”类别,则需要has_term 标签:

if( is_single() && has_term(\'programming\', \'category\', get_queried_object()) ) {
  include_once (\'TEMPLATEPATH/get-messages.php\');
  exit();
}
请参见is_single, is_categoryhas_term 在Codex上。

还可以看看如何conditional tags 在WP工作。

结束

相关推荐

Security and Must Use Plugins

从codex article 必须使用插件:只需将文件上载到mu插件目录即可启用,无需登录我觉得这是一个潜在的安全问题。在站点上运行插件中的任何代码之前,必须通过管理面板激活常规插件。我一直认为这是一个明智的安全预防措施,因为攻击者如果能够以某种方式将文件上载到plugins文件夹,则在运行代码之前,还必须访问和修改数据库。这个mu-plugins 文件夹似乎提供了一种简单的方法来避免这种情况。我知道WordPress开发人员比我更了解安全性,所以我想知道是否有人能解释为什么这不是一个安全漏洞。