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

WordPress如何设置年份为页面permalink且不追加-2、不加载年度归档

操作步骤

仅释放年份路径(保留其他归档功能)

你不需要完全禁用所有归档,只需移除年度归档对应的重写规则即可,操作如下:

  • 将以下代码添加到当前主题的functions.php文件,或通过自定义代码插件插入:
add_filter('rewrite_rules_array', 'remove_year_archive_rules');
function remove_year_archive_rules($rules) {
    foreach ($rules as $pattern => $val) {
        if (preg_match('/^\d{4}\/?$/', $pattern)) {
            unset($rules[$pattern]);
        }
    }
    return $rules;
}
  • 进入WordPress后台「设置」-「固定链接」页面,无需修改任何配置,直接点击保存更改,刷新重写规则缓存
  • 编辑标题为2020的页面,手动将permalink修改为2020后保存即可。此时访问https://www.example.com/2020/会直接加载对应页面,不会触发年度归档。

完全禁用所有归档功能

如果需要释放所有归档路径(包括年份、月份、分类、标签、作者页等),可使用以下方案:

  • 在functions.php中添加代码:
// 禁用归档页访问,直接返回404
add_action('template_redirect', 'disable_all_archives');
function disable_all_archives() {
    if (is_archive()) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
    }
}
// 移除所有归档相关的重写规则
add_filter('rewrite_rules_array', 'remove_all_archive_rules');
function remove_all_archive_rules($rules) {
    $archive_rules = [];
    // 匹配日期、分类、标签、自定义分类法、作者归档规则
    foreach ($rules as $pattern => $rewrite) {
        if (
            preg_match('/^\d{4}\/?$/', $pattern)
            || preg_match('/^\d{4}\/\d{1,2}\/?$/', $pattern)
            || preg_match('/^\d{4}\/\d{1,2}\/\d{1,2}\/?$/', $pattern)
            || preg_match('/^(category|tag|author)\/.+/', $pattern)
            || str_contains($rewrite, 'category_name=')
            || str_contains($rewrite, 'tag=')
            || str_contains($rewrite, 'author=')
            || str_contains($rewrite, 'year=')
        ) {
            continue;
        }
        $archive_rules[$pattern] = $rewrite;
    }
    return $archive_rules;
}
  • 同上述步骤,进入「设置」-「固定链接」保存刷新缓存即可。

注意:完全禁用归档后,需自行清理主题、菜单中已有的归档入口,避免用户点击后访问404页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:45:03