提问者:小点点

WordPress:自定义WP_Query返回所有分页参数值的第一页帖子


我正在尝试使用AJAX为我的Wordpress博客页面创建一个“加载更多帖子”按钮。负责传递“paged”、“offset”和“posts\u per\u page”参数的Javascript函数正在成功地完成这项工作(我已经检查了一百次!)。

offset和posts_per_page参数工作正常(我反复更改它们的值以测试这一点),但是WP_查询始终返回首页上的帖子,即使每次加载更多帖子时$page的值都会更改。

为了防止$paged值在某个地方出错,我对'paged'参数使用了静态数字,但不管值是多少,它仍然只显示第一页文章。

一切都执行良好,我没有收到错误消息,调试启用。帖子确实加载了——只是没有正确的。

其他信息:我自己的主题,没有插件正在运行。

下面的代码来自my functions中的一个函数。php文件。

    $args = array(
        'suppress_filters' => true,
        'post_type' => 'post',
        'orderby'    =>  'date',
        'order'      =>  'desc',
        'posts_per_page' => $ppp,
        'paged'    => $page,
        'offset'  => $offset, //I've tried simply putting 3, 5 etc
    );

    $loop = new WP_Query($args);

    if ($loop -> have_posts()) : 
        while ($loop -> have_posts()) : $loop -> the_post();
            the_title();
        endwhile;
    endif;
    wp_reset_postdata();

我只输入了我认为相关的代码,以便更容易阅读。如果你想让我补充什么,请告诉我。还有谢谢你!

编辑:使用Query()函数直接使其工作,但我真的不想弄乱主查询对象...这只是意味着我代码中的其他一切都很好。WP_Query只是很奇怪。


共1个答案

匿名用户

不能同时使用偏移量分页-只能使用其中之一。一起使用它们会中断分页。如果你想要出现在第2页的帖子(假设你有10个页面),请使用:

'paged' => 2

或者

'offset' => 10