为什么这个分类页面限制了帖子的数量?

时间:2020-07-17 作者:Tom Davies

我正在开发我的第一个Wordpress主题。我已经为特定的帖子类别创建了一个自定义页面,我想在页面上显示该特定类别中的所有帖子。

这段代码主要是从其他地方借来的,因此很可能不是最佳实践,但它似乎正在发挥作用。然而,有一个相当重要的问题:

我使用的代码将帖子数量限制在前十篇(按字母顺序排序)。有谁能告诉我如何更改我编写的代码,以便显示该类别中的所有帖子吗?

任何帮助都将不胜感激!

<?php
  $r = new WP_Query(
    apply_filters(
       \'widget_posts_args\',
         array(
           \'post_status\'          => \'publish\',
           \'cat\'                   => 5,
           \'orderby\'               => \'title\',
           \'order\'                 => \'ASC\',
         ),
       $instance
    )
  );

  if ( ! $r->have_posts() ) {
    return;
  }
?>
 <ul>
   <?php foreach ( $r->posts as $hof_post ) : ?>
   <?php
     $post_title   = get_the_title( $hof_post->ID );
     $title        = ( ! empty( $post_title ) ) ? $post_title : __( \'(no title)\' );
     $thumbnail         = get_the_post_thumbnail($hof_post->ID);
     $excerpt           = get_the_excerpt($hof_post->ID);
     $aria_current = \'\';
   ?>
   <li>
    <a href="<?php the_permalink( $hof_post->ID ); ?>">
      <?php echo $thumbnail; ?>
      <h3><?php echo $post_title ?></h3>
      <p><?php echo $excerpt ?></p>
    </a>
  </li>
  <?php endforeach; ?>
</ul>

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

10是从Wordpress设置中获取的默认页面长度。

它有点隐蔽,但在docs for WP Query 有一个参数posts_per_page 可设置为-1 要获取所有帖子,只需将其添加到要传递到WP\\u查询的参数中。

(如果这不起作用,并且您从某处复制了该WP\\U查询代码,那么您可能需要删除apply\\u filters()部分,只保留内部array() 并将其直接传递给WP\\u Query)

相关推荐

Post in multiple categories

我尝试在多个类别中列出帖子。管理面板中一切正常。我进入所有帖子,选择所需的帖子,然后进入编辑并选择一个类别。保存更改后,在“类别”选项卡下会写入旧类别和新类别。现在,当我访问网站并选择更新类别时,只有旧帖子,没有新帖子。例如:我有类别:电影、游戏、最佳和帖子:最佳电影、最佳游戏、最佳,我需要这样:最佳电影属于电影类别最佳游戏属于游戏类别,两者都属于最佳类别我使用日期和职位名称作为永久链接。