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

如何在WordPress的functions.php中修改文章归档链接

修改WordPress归档与文章链接为带/arr/前缀的格式

嘿,我来帮你搞定这个WordPress链接修改的需求!你已经写了一部分文章链接的代码,接下来我们把归档链接的修改也补上,同时优化现有代码避免冲突。

完整实现步骤

要实现把归档链接从http://localhost/wordpress/2018/03/改成http://localhost/wordpress/arr/2018/03/,同时保持文章链接也带上/arr/前缀,需要做三件事:添加重写规则、过滤归档链接输出、优化文章链接函数。

1. 添加自定义重写规则

首先要让WordPress识别带/arr/前缀的归档URL,把这段代码加到你的主题functions.php里:

function custom_arr_rewrite_rules() {
    // 匹配月归档:/arr/2018/03/
    add_rewrite_rule(
        'arr/([0-9]{4})/([0-9]{2})/?$',
        'index.php?year=$matches[1]&monthnum=$matches[2]',
        'top'
    );
    // 匹配年归档:/arr/2018/
    add_rewrite_rule(
        'arr/([0-9]{4})/?$',
        'index.php?year=$matches[1]',
        'top'
    );
}
add_action('init', 'custom_arr_rewrite_rules');

这段代码会在WordPress初始化时注册新的URL规则,告诉服务器/arr/年份/月份/这样的地址应该指向对应的归档页面。

2. 过滤归档链接输出

接下来要把默认的归档链接替换成带/arr/前缀的版本,添加这段代码:

function custom_arr_archive_link($url) {
    // 检测是否为日期归档链接(包含年份)
    if (preg_match('/\/[0-9]{4}\//', $url)) {
        // 在域名后插入/arr/前缀
        $url = str_replace(home_url(), home_url('/arr'), $url);
    }
    return $url;
}
add_filter('year_link', 'custom_arr_archive_link');
add_filter('month_link', 'custom_arr_archive_link');

它会自动修改年归档和月归档的链接输出,把原来的日期前缀替换成/arr/年份/或/arr/年份/月份/。

3. 优化文章链接函数

你原来的文章链接代码可以调整一下,避免重复添加/arr/前缀,确保逻辑更稳定:

function append_query_string($url, $post, $leavename) {
    // 只处理文章类型为post的链接
    if ($post->post_type == 'post') {
        // 检查URL是否已包含/arr/,防止重复添加
        if (strpos($url, '/arr/') === false) {
            $relative_url = str_replace(home_url(), '', $url);
            $url = home_url(user_trailingslashit("arr$relative_url"));
        }
    }
    return $url;
}
add_filter('post_link', 'append_query_string', 10, 3);

现在单篇文章的链接会变成http://localhost/wordpress/arr/文章别名/,而且不会重复添加前缀。

最后一步:刷新重写规则

添加完代码后,登录WordPress后台,进入设置 → 固定链接,随便修改一下固定链接结构(比如从“文章名”切换到“自定义结构”再切回来),然后点击保存更改。这一步很重要,它会让WordPress刷新重写规则,新的URL规则才能生效。

做完这些后,你就可以测试归档链接和文章链接了,应该都能正常访问,并且URL格式符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:30:18