提问人:Samuel Shumake 提问时间:10/26/2023 更新时间:10/26/2023 访问量:10
Wordpress $wp_query 未返回正确的max_num_pages
Wordpress $wp_query not returning correct max_num_pages
问:
我正在尝试在帖子上设置一个加载更多按钮,但我似乎无法让 $wp_query->max_num_pages正常工作。它似乎返回用户所在页面的信息,而不是被查询的帖子的信息,因为 $wp_query->max_num_pages 总是返回 0,即使有很多帖子需要分页。我一直在关注这篇文章 https://rudrastyh.com/wordpress/load-more-posts-ajax.html
在我的帖子模板中:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$params = array(
'post_type' => 'location',
'post_status' => 'publish',
'posts_per_page' => 3,
'orderby' => 'publish_date',
'order' => 'DESC',
'paged' => $paged
);
$postslist = new WP_Query($params);
if ($postslist->have_posts()) : ?>
<div id="response">
<?php
while ($postslist->have_posts()) : $postslist->the_post();
get_template_part("templates/post-item");
endwhile;
?>
</div>
<?php global $wp_query;
if ($wp_query->max_num_pages > 1): ?>
<button id="loadmore">Load More</button>
<?php endif;
wp_reset_postdata();
endif; ?>
然后,在我的加载更多.php文件中:
global $wp_query;
wp_register_script("loadmore", get_template_directory_uri() . "/dist/js/loadmore.js", null, date("H:i:s"), true );
wp_localize_script( "loadmore", "loadmore_params", array(
"ajaxurl" => site_url() . "/wp-admin/admin-ajax.php",
"posts" => json_encode( $wp_query->query_vars ),
"current_page" => get_query_var( "paged" ) ? get_query_var("paged") : 1,
"max_page" => $wp_query->max_num_pages
));
wp_enqueue_script( "loadmore" );
但是,如果我打印出 loadmore_params.max_page,它会返回 0(即使肯定有超过 0 页)。
答: 暂无答案
评论