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

WordPress自定义文章类型归档页面分页失效问题排查

解决WordPress自定义文章类型归档分页失效问题

你的核心问题出在paginate_links函数的base参数配置错误,导致分页链接无法正确传递paged参数到自定义查询中。wp_reset_postdata()的位置是正确的,之前把分页代码放在它前面导致每篇文章旁都出现分页,是因为代码被包含在了循环体内。

具体修正方案:

1. 修复paginate_links的base参数

你当前用get_pagenum_link(1) . '%_%'作为base,会导致分页链接结构错误,无法正确识别页码参数。推荐使用WordPress原生的通用写法,自动适配当前页面的URL结构:

'base' => str_replace(999999999, '%#%', esc_url(get_pagenum_link(999999999))),

2. 关联自定义查询的当前页码

直接使用自定义查询对象的get('paged')属性获取当前页码,避免全局变量冲突:

'current' => $villagelifeArchive->get('paged') ? $villagelifeArchive->get('paged') : 1,

完整修正后的分页代码

替换你原有的分页代码块为:

$total_pages = $villagelifeArchive->max_num_pages;

if ( $total_pages > 1 ) {
    ?>
    <div class="pagination">
    <?php
    echo paginate_links(
        array(
            'base'      => str_replace(999999999, '%#%', esc_url(get_pagenum_link(999999999))),
            'format'    => get_option('permalink_structure') ? '/page/%#%' : '?paged=%#%',
            'current'   => $villagelifeArchive->get('paged') ? $villagelifeArchive->get('paged') : 1,
            'total'     => $total_pages,
            'prev_text' => __('« 上一页'),
            'next_text' => __('下一页 »'),
        )
    );
    ?>
    </div>
    <?php
}

额外注意点

  • format参数会根据你后台的固定链接设置自动适配:如果是“文章名”结构,用'/page/%#%';如果是默认结构,用'?paged=%#%'。
  • 确保没有其他插件或主题代码修改了全局的paged参数,干扰自定义查询的页码获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:10:30