自定义文章页面,每页仅显示有限数量的帖子

时间:2017-10-26 作者:Hayden Young

我一直在为我的网站开发自己的主题http://haydenbjyoung.co.uk 如果你点击导航栏上的“文章”链接,它只会显示大约20篇文章中的5篇。我对自己制作的自定义模板的帖子数量没有限制,下面是模板代码。

<?php /* Template Name: Posts List */ get_header();?>
<h1 id="page_title">Stuff I\'ve Written</h1>
<div id="posts_wrapper" class="skinny_wrapper">
  <?php global $post;

  $myposts = get_posts(array(\'post_type\'=>\'post\'));
  foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
    <div class="post">
      <p class="date"><?php the_date(); ?></p>
        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
      <hr>
    </div>
  <?php endforeach;
  wp_reset_postdata();?>
</div>
<?php get_footer();  ?>
这真是令人讨厌。我试着把我的帖子限制在20篇,看看是否有更多的帖子,但没有任何改变。我不想陷入潜在读者只能看到5篇文章的局面。

有什么想法吗?

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

post限制在管理面板中控制,位于Settings > Reading. 在那里,您可以设置查询中应显示多少帖子的限制。但是,默认的post计数为get_posts() 是5。

如果要查询无限制的帖子(无论性能问题),可以创建自己的WP_Query() 或使用pre_get_posts 筛选以执行此操作。

使用WP_Query() 很直接,你所要做的就是通过-1 到查询。你也可以这样做get_posts() :

$args = array (
    \'posts_per_page\' => -1,
    // Rest of the arguments here
);

$query = new WP_Query($args);
现在您可以使用while() 循环以输出内容。

结束

相关推荐

为自定义帖子类型/分类设置不同的POSTS_PER_PAGE

我有一个自定义的帖子类型,我想在我的网站上的分类页面上完全显示该帖子类型,而不是网站的常规博客部分。我制作了一个自定义分类法和帖子类型,如下所示:add_action(\'init\', \'create_post_types\'); function create_post_types() { register_taxonomy(\'tips-and-tricks-taxonomy\', \'tat\', array( \'hierarchical\'