我正在尝试使用AJAX为我的Wordpress博客页面创建“加载更多帖子”按钮。负责传递'分页','偏移'和'posts_per_page'参数的Javascript函数正在成功完成(我已经检查了一百次!)。
偏移和 posts_per_page 参数工作正常(我反复更改其值以对此进行测试)但 WP_Query 始终返回帖子首页,即使每次加载更多帖子时 $ page 的值都会更改。
只是因为 $ paged 值在某个地方搞砸了,我使用静态数字作为'paged'参数但它仍然只显示首页帖子,无论什么价值。
一切正常,我没有收到错误消息,启用了调试。帖子确实加载 - 只是不正确的。
其他信息:我自己的主题,现在没有插件运行。
以下代码来自我的 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只是很奇怪。
答案 0 :(得分:0)
您不能同时使用offset
和paged
- 您只能使用其中一个。一起使用它们可以打破分页。如果您想要在第2页上显示的帖子(假设您有10个页面),请使用 :
'paged' => 2
或
'offset' => 10