为什么WordPress中的分页自定义条件不起作用?

发布于 2025-01-11 09:02:43 字数 854 浏览 0 评论 0原文

我的任务是在分页的第一页上显示 6 个帖子,然后在表单的category-news.php 的类别页面上显示 9. 分页。

这是我在functions.php 中的代码:

function limit_posts_per_home_page() 
{
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

  $first_page_limit = 6;
  $limit = get_option('posts_per_page');
  

  if( is_admin() ) {
    return;
  }


  if ( is_category('6') )
  { 
    if ($paged == 1)
    {
      $limit = $first_page_limit;
    }
    else
    {
      $offset = $first_page_limit + (($paged - 3) * $limit);
      set_query_var('offset', $offset);   
    }
  }

  set_query_var('posts_per_archive_page', $limit);
  set_query_var('posts_per_page', $limit);
}
add_filter('pre_get_posts', 'limit_posts_per_home_page');

但它不起作用。我在分页页面上看到与设置中设置的帖子数量相同的帖子。 所有条件均已满足。在最后一个条件(if($paged == 1))之后,我看到正确的值$limit=6。事实证明错误就在这里 set_query_var 我不太明白如何在这里融化它

My task is to display 6 posts on the first page of the pagination, and then 9. Pagination on the category page of the form category-news.php .

Here is my code in functions.php:

function limit_posts_per_home_page() 
{
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

  $first_page_limit = 6;
  $limit = get_option('posts_per_page');
  

  if( is_admin() ) {
    return;
  }


  if ( is_category('6') )
  { 
    if ($paged == 1)
    {
      $limit = $first_page_limit;
    }
    else
    {
      $offset = $first_page_limit + (($paged - 3) * $limit);
      set_query_var('offset', $offset);   
    }
  }

  set_query_var('posts_per_archive_page', $limit);
  set_query_var('posts_per_page', $limit);
}
add_filter('pre_get_posts', 'limit_posts_per_home_page');

But it doesn't work. I see the same number of posts on pagination pages that are set in the settings.
All conditions are met. After the last condition(if ($paged == 1)), I see the correct value $limit=6. it turns out the error is somewhere here set_query_var And I don't quite understand how to melt it here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文