我有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 );
答案 0 :(得分:1)
在WordPress管理员中,设置>阅读时,将显示的默认帖子数设置为小于查询中的帖子数量。这是由全局$query
变量返回错误的总帖子数引起的。
https://codex.wordpress.org/Pagination
您也可以对主循环运行分页,而不是自定义的辅助循环。该问题的答案取决于您用于输出分页链接的工具。您可以尝试将导航链接放在辅助循环内,而不是主循环。
答案 1 :(得分:0)
正如@stellarcowboy所指出的,这是wordpress查询的一个问题,可以通过调整wp-admin的每页总帖子数来解决 - >设置 - >读数。
但我发现found_posts和max_num_pages值实际上是正确的,但是在wp-admin中的数字被更正后,WP_Query无法显示最后一页的内容。