我正在尝试使用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只是很奇怪。
不能同时使用偏移量
和分页
-只能使用其中之一。一起使用它们会中断分页。如果你想要出现在第2页的帖子(假设你有10个页面),请使用:
'paged' => 2
或者
'offset' => 10