首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >is_category,is_single,is_page不在function.php工作

is_category,is_single,is_page不在function.php工作
EN

Stack Overflow用户
提问于 2017-04-21 11:21:53
回答 3查看 3.6K关注 0票数 2

我有一个名为“杂志”的分类,我创作了一些这类的文章。这是我的文章http://www.example.com/magazine/article-one/的链接,如果我在这个类别中,我想签入function.php,因为我使用if(is_category('magazine')){die('I am in magazine category');},但是我什么也没有。我试过使用is_singleis_page,但所有这些功能都无法工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-21 11:26:35

是的,这些函数不会在functions.php中直接工作,因为您需要像下面这样使用它们,

代码语言:javascript
复制
add_filter('pre_get_posts', 'limit_archive_posts' ,5);
function limit_archive_posts($query){
    if ($query->is_category) {
        $query->set('posts_per_page', 3);
    }
    if($query->is_single == 1){
        $query->set('posts_per_page', 1);
    }
    return $query;
}

或者在wp_enqueue_scripts、wp_head、wp_footer过滤器中使用它们。

票数 3
EN

Stack Overflow用户

发布于 2017-04-21 11:43:20

您不能在function.php中使用这些函数,否则它们就没有意义了。is_category检查类别它将获得分类法页面查询的类别。

您可以使用此操作来完成您的工作。

代码语言:javascript
复制
add_filter('pre_get_posts', 'limit_archive_posts' ,5);
function limit_archive_posts($query){
    if ('magazine' === $query->is_category) {

     }
    if(1 === $query->is_single){

    }
    return $query;
} 

您可以将函数逻辑放在主题functions.php中,并且可以在taxonomy.phparchive.php上使用此条件根据条件呈现适当的逻辑。

代码语言:javascript
复制
if(is_category('magazine')){
    call_my_category_work_function();
}
票数 1
EN

Stack Overflow用户

发布于 2017-04-21 11:35:29

试试下面的代码

代码语言:javascript
复制
 $category_object=get_queried_object();
 $category_term_id = $category_object->term_id;
 if($category_term_id == "your magazine term_id")       
 {
    echo 'I am in magazine category';   
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43541460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档