You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义文章类型vacancies分页失效问题求助

自定义文章类型(vacancies)分页问题解决

我来帮你搞定这个分页故障,你遇到的核心问题是用query_posts覆盖主查询后,打乱了WordPress原生的分页逻辑和模板选择机制。用钩子修改主查询才是正确的思路,下面是具体修复步骤:

第一步:修正archive-vacancies.php模板代码

把你原来的代码替换成下面的内容,移除query_posts相关的手动查询代码,恢复默认主循环:

<?php
get_header();

// 原生主循环,无需手动重新发起查询
if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        // 这里放置你的职位内容展示代码
        // 示例:the_title('<h2>', '</h2>'); the_excerpt();
    endwhile;
    // 分页导航
    wp_pagenavi();
else :
    get_template_part( 'includes/no-results', 'index' );
endif;

get_footer();
?>

第二步:用pre_get_posts钩子调整主查询参数

在你的主题functions.php文件末尾添加以下代码,通过钩子精准修改vacancies归档页的每页显示数量,完全兼容原生分页逻辑:

add_action( 'pre_get_posts', 'custom_vacancies_posts_per_page' );
function custom_vacancies_posts_per_page( $query ) {
    // 仅针对前台主查询、且是vacancies归档页生效
    if ( !is_admin() && $query->is_main_query() && is_post_type_archive( 'vacancies' ) ) {
        $query->set( 'posts_per_page', 3 );
    }
}

第三步:刷新固定链接规则

进入WordPress后台的「设置」→「固定链接」,不需要修改任何设置,直接点击「保存更改」。这一步是为了让WordPress更新重写规则,确保分页URL能正确匹配到你的自定义归档模板。

完成以上三步后,访问mydomain.com/vacancies/page/2时,系统会正确加载archive-vacancies.php模板,并且正常显示第二页的职位内容,不会再出现无结果的提示。

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:49:37