[英]Wordpress pagination not returning the same number of posts on pages
这是我的分页代码。 一切都很好,除了第 2 页之后,页面上的帖子数量不同。 例如,它在第 1 页和第 2 页上返回 9、在第 3 页上返回 8、在第 4 页上返回 7、在第 5 页上返回 6 ......这个数字只会越来越小。 发生这种情况有原因吗? 我试过改变 arguments,但到目前为止没有任何帮助。
<?php
if (!defined('ABSPATH')) exit;
// Exit if accessed directly
/**
* @param $posts array
* @param $every_eighth_full_width boolean
*/
?>
<?if ($posts) :?>
<div class="row new-post-list">
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array( 'post_type'=> 'post', 'post_status' => 'publish','orderby' => 'post_date',
'order' => 'desc', 'posts_per_page' => 9, 'paged' => $paged );
$query = new WP_Query($args);
$counter = 1;
while ( $query->have_posts() ) : $query->the_post();
?>
<?php
$hide = get_field('hide_this_blog_post_from_the_main_blog_page', $post->ID);
if($hide)
continue;
?>
<div class="col-12 mb-2 <?= ($every_seventh_full_width && $counter%7 == 0) ? '' : 'col-md-6' ?>">
<?php include(locate_template('/templates/posts/new-post-teaser.php')); ?>
</div>
<?php
$counter++;
endwhile;?>
<div class="col-12 new-blog-pagination">
<?php
echo paginate_links(array(
'total' => $query->max_num_pages,
'prev_text' => '',
'next_text' => ''
));
?>
</div>
<?php wp_reset_postdata(); ?>
</div>
<?php endif; ?>
编辑:这就是我解决问题的方式:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array( 'post_type'=> array('post','guide'), 'post_status' => 'publish','orderby' => 'post_date',
'order' => 'desc', 'posts_per_page' => 9, 'paged' => $paged, 'meta_query' => array(
array(
'key' => 'hide_this_blog_post_from_the_main_blog_page',
'value' => '1',
'compare' => '<'
)
)
);
$query = new WP_Query($args);
$counter = 1;
while ( $query->have_posts() ) : $query->the_post();
?>
<div class="col-12 mb-2 <?= ($every_seventh_full_width && $counter%5 == 0) ? '' : 'col-md-6' ?>">
<?php include(locate_template('/templates/posts/new-post-teaser.php')); ?>
</div>
<?php
$counter++;
endwhile;?>
也许是因为这段代码
$hide = get_field('hide_this_blog_post_from_the_main_blog_page', $post->ID);
if($hide)
continue;
您是否尝试对此发表评论?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.