在类别(分类)中显示我想要的帖子数量

时间:2013-06-17 作者:Batman

如何在页面归档(分类归档)中显示20篇文章?

例如:在阅读的wordpress设置中,我使用:博客页面最多显示10篇文章
这在arhive页面中有效,但当我单击类别(分类法)时,它只显示10篇文章。

我有一个显示存档的功能:

function iti_custom_posts_per_page($query)
    {
        switch ( $query->query_vars[\'post_type\'] )
        {
            case \'trailers\':  // Post Type named \'iti_cpt_1\'
                $query->query_vars[\'posts_per_page\'] = 20;
                break;

            case \'persoane\':  // Post Type named \'iti_cpt_2\'
                $query->query_vars[\'posts_per_page\'] = 6;
                break;


            case \'serial\':  // Post Type named \'iti_cpt_3\'
                $query->query_vars[\'posts_per_page\'] = 6;
                break;

            default:
                break;
        }
        return $query;
    }

    if( !is_admin() )
    {
        add_filter( \'pre_get_posts\', \'iti_custom_posts_per_page\' );
    }

1 个回复
SO网友:Rarst

如果我对你的问题理解正确,那么你的代码似乎接近你想要的,但功能不正确。我在下面遇到的问题是,您的描述谈到了分类法归档,但您的代码似乎是关于自定义post类型归档的。

我建议使用更合适的查询方法,而不是直接使用vars:

  • $query->is_tax() 检查分类法档案$query->is_post_type_archive() 检查CPT档案$query->set() 修改查询变量的步骤

结束

相关推荐

Restrict query_posts by Date?

要根据页面视图显示最流行的帖子,我使用以下代码(source):<?php query_posts(\'meta_key=post_views_count&orderby=meta_value_num&order=DESC\'); if (have_posts()) : while (have_posts()) : the_post(); ?> <li><a href=\"<?php the_permali