设置每页的文章数量

时间:2016-06-08 作者:Gohmz

我正在用这个很棒的free theme.

正如你在这个主题中看到的,这是一个由“页面”分隔的时间线。我们有5篇文章的“第1页”,5篇文章的“第2页”,等等。。。

我更改了以下内容:

“第1页”变为->9月->10月->11月->第3页”变为->11月->在实际时间轴中调整此主题。它工作得很好。

我的最终问题是,我不知道如何设置每页的文章数。就像每一页4篇文章,就是这样。(当然,我知道如何设置这个值)。

像这样:I wrote 3 articles in September, and 4 in October.有了这个用例,我9月份写的3篇文章将出现在“9月份页面”,10月份写的第一篇文章也将出现在“9月份页面”。

所以我的问题很简单,我可以设置文章的数量吗per number page ?

第1页(9月):最多4篇文章第2页(10月):最多8篇文章第3页(11月):最多1篇文章经过一些搜索,我看到了以下代码示例:

add_action( \'pre_get_posts\',  \'set_posts_per_page\'  );
function set_posts_per_page( $query ) {

  global $wp_the_query;

  if ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_search() ) ) {
    $query->set( \'posts_per_page\', 3 );
  }
  elseif ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_archive() ) ) {
    $query->set( \'posts_per_page\', 5 );
  }
  // Etc..

  return $query;
}
资料来源:Change Posts per page count

这正是我想要的,但不是在“文章类别”上,而是在页码上

as(我的伪代码)

if ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_page(1) ) {
        $query->set( \'posts_per_page\', 4 );  // **SEPTEMBER**
      }
if ( ( ! is_admin() ) && ( $query === $wp_the_query ) && ( $query->is_page(2) ) {
            $query->set( \'posts_per_page\', 3 ); // **OCTOBER**
          }

1 个回复
SO网友:Rarst

分页是两个因素结合的结果:页面大小和偏移量。通常情况下,页面大小是恒定的,偏移量是页面大小乘以当前页面。

是否可以构建您描述的高度精细的分页?技术上是的。这对于以更精细的方式调整页面大小和偏移量很重要。

然而,这种实施的具体性将非常不方便。假设你在第15页。您如何确定现在是哪个月?您需要一路回溯到起始页,然后逐页重建前14页,以了解您在哪一点。请注意,很可能不是所有的月份都会有帖子,即使现在是这样。

你能做些什么呢?使用date archives. WP完全能够生成保存特定月份基于时间的存档的页面(例如。example.com/2016/06/) 开箱即用。

在任何一个特定的月份,您都可以确切地知道自己在哪个时间点,剩下的只是提供指向其他月份的UI/链接,而不是典型的分页(例如wp_get_archives()).