我有一个自定义分类法的wp_query
和meta value
(ACF),分页似乎添加了额外的页面,最终作为404错误。当我执行print_r
时,我可以看到查询返回正确的值,[found_posts] => 44 [max_num_pages] => 4
,分类法中总共有96个项目,但是当通过元值过滤时,它是44,为什么分页不接受44
下面是查询代码:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'posts_per_page' => 12,
'post_type' => 'genera',
'meta_key' => 'species_or_hybrid',
'meta_value' => $cat_type,
'tax_query' => array(
array(
'taxonomy' => 'genus',
'field' => 'slug',
'terms' => wp_get_post_terms($post->ID, 'genus', array("fields" => "names"))
),
),
'paged' => $paged,
);
// get results
$the_query = new WP_Query( $args );
在WordPress admin, Settings> Reading中,将显示的默认帖子数设置为小于查询中的帖子数量。这是由于全局$query
变量返回错误的总帖子数造成的。
也有可能是针对主循环而不是自定义的次循环运行分页。这个问题的答案取决于您使用哪个工具来输出分页链接。你可以试着把你的导航链接放在次要循环中,而不是主循环中。
正如@stellarcowboy指出的,这是一个wordpress查询的问题,可以通过调整wp-admin -> settings -> reading中的每页总帖子数来解决。
但是我发现found_posts和max_num_pages值实际上是正确的,但是WP_Query不能显示带有帖子的最后页面的内容,直到wp-admin中的数字被纠正。