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

能否修改WordPress分页永久链接?自定义分页URL参数格式遇问题

解决WordPress分页链接改为参数形式的问题

嘿,我来帮你搞定这个分页链接修改的问题!你的思路方向是对的,但代码里preg_match的用法有误——它返回的是匹配到的次数,不是实际的页码内容,这是导致代码没生效的核心原因。咱们来一步步修正:

修正后的可用代码

add_filter('get_pagenum_link', 'edit_paginate_url');
function edit_paginate_url($url) {
    // 精准匹配URL中的/page/数字结构,提取页码
    if (preg_match('/\/page\/(\d+)/', $url, $matches)) {
        $pagenum = $matches[1];
        // 移除原有的/page/数字路径部分
        $url = preg_replace('/\/page\/\d+/', '', $url);
        // 智能拼接参数:如果URL已有查询参数用&,否则用?
        $url .= strpos($url, '?') !== false ? "&page={$pagenum}" : "?page={$pagenum}";
    }
    return $url;
}

关键修正点说明

  • 正确提取页码:用preg_match的第三个参数$matches来捕获匹配到的页码数字,而不是直接用函数返回值。
  • 避免参数格式错误:增加了对URL已有查询参数的判断,防止出现site.com/articles??page=2这种错误格式。
  • 精准匹配修改:只针对包含分页路径的URL进行修改,不会影响其他正常链接。

另外补充一点:修改后大部分主题默认都能识别?page=参数,但如果遇到分页失效的情况,需要检查主题的分页逻辑,确保它能读取$_GET['page']来获取页码值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:04:24