控制wordpress存档页面上的帖子数量

时间:2010-09-08 14:47:50

标签: php wordpress archive

我已经设置了我的wordpress博客的首页,只显示了三个帖子。 在archive.php模板上,当查看标签的帖子时,我想显示10个结果。

我该怎么做?

我试过这个PHP代码。但是,它不是仅显示具有特定标记的帖子,而是查询所有最近的帖子。

//in archive.php (before the loop)
query_posts('posts_per_page=10');

2 个答案:

答案 0 :(得分:1)

只需使用标记参数附加查询(如下所示:http://codex.wordpress.org/Function_Reference/query_posts#Tag_Parameters):

query_posts('posts_per_page=10&tag=your_desired_tag');

编辑:如果您在功能中使用此功能,您也可以将限制添加到原始查询中,如下所示:

function my_archive_loop($content) {
    global $query_string;
    query_posts($query_string . "&posts_per_page=10"); 
}

变量$query_string应该包括所有默认参数,例如当前标记,类别,年份或您正在查看的任何存档页面。

答案 1 :(得分:0)

你可以试试这个:

  function post_per_page_control( $query ) {
     if ( is_admin() || ! $query->is_main_query() )
       return;

    // For archive.You can omit this
     if ( is_archive() ) {
          //control the numbers of post displayed/listed (eg here 10)
          $query->set( 'posts_per_page', 10 );
          return;
     }

     // For your tag
     if ( is_tag() ) {
          //control the numbers of post displayed/listed (eg here 10)
          $query->set( 'posts_per_page', 10 );
          return;
     }
  }
  add_action( 'pre_get_posts', 'post_per_page_control' );

在这里阅读更多内容:

1 http://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

2 http://codex.wordpress.org/Function_Reference/query_posts