WP_Query查询自定义文章类型Realizacje无法显示全部分类文章
解决WP_Query查询自定义文章类型仅显示部分文章的问题
核心原因
默认情况下,WP_Query会沿用后台「设置-阅读」中「博客页面至多显示」的数值,若你的查询参数未明确指定获取全部文章,就会只返回默认数量的内容。
修正后的查询代码
在WP_Query的参数里添加 posts_per_page => -1 即可强制获取所有符合条件的文章,同时确保分类参数匹配正确:
$args = array( 'post_type' => 'Realizacje', // 注意自定义文章类型的slug大小写要与注册时一致 'posts_per_page' => -1, // 关键参数:-1表示获取所有对应文章 'tax_query' => array( array( 'taxonomy' => '你的分类法slug', // 替换为「Projekty wnętrz」所属分类法(比如自定义分类法或默认category) 'field' => 'slug', // 用分类slug匹配,也可改为'id'用ID匹配 'terms' => 'projekty-wnetrz', // 替换为「Projekty wnętrz」的实际slug ), ), 'post_status' => 'publish', // 确保只查询已发布状态的文章 ); $query = new WP_Query( $args ); // 循环输出文章内容 if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); // 这里写入你的文章渲染逻辑,比如标题、缩略图、内容片段等 the_title( '<h3>', '</h3>' ); the_excerpt(); } wp_reset_postdata(); // 重置查询,避免影响后续全局循环 } else { echo '暂无相关文章'; }
额外排查方向
- 检查自定义文章类型「Realizacje」的注册代码,确认设置了
'public' => true和'has_archive' => true,保证文章可被正常查询。 - 核实「Projekty wnętrz」分类下的8篇文章均为「发布」状态,草稿、私密或待审核状态的文章默认不会被WP_Query返回。
- 若主题或插件存在
pre_get_posts钩子修改WP_Query的逻辑,检查是否有全局限制文章数量的设置,可临时禁用插件、切换默认主题测试是否恢复正常。
内容的提问来源于stack exchange,提问作者Qbusiek
相关产品推荐
相关产品推荐

