如何修改WordPress分类/标签URL结构为数字或文章ID格式
WordPress 分类、标签URL修改为数字格式实现方法
方案1:使用分类/标签自身ID作为路径(无重复、无需额外存储字段)
直接将以下代码添加到当前使用主题的functions.php文件中即可:
// 分类重写规则修改 add_filter('category_rewrite_rules', 'custom_cat_rewrite'); function custom_cat_rewrite($rules) { $new = array('(\d+)/?$' => 'index.php?cat=$matches[1]'); return $new + $rules; } // 分类链接输出替换为ID格式 add_filter('category_link', 'custom_cat_link', 10, 2); function custom_cat_link($link, $term_id) { return home_url('/' . $term_id . '/'); } // 标签重写规则修改 add_filter('tag_rewrite_rules', 'custom_tag_rewrite'); function custom_tag_rewrite($rules) { // 若要避免和分类ID路径冲突,可修改为 'tag/(\d+)/?$',对应下方链接输出也加上/tag/前缀 $new = array('tag/(\d+)/?$' => 'index.php?tag_id=$matches[1]'); return $new + $rules; } // 标签链接输出替换为ID格式 add_filter('tag_link', 'custom_tag_link', 10, 2); function custom_tag_link($link, $term_id) { return home_url('/tag/' . $term_id . '/'); }
- 代码添加完成后,进入 WordPress 后台 → 设置 → 固定链接页面,直接点击保存更改刷新重写规则即可生效,无需修改原有固定链接配置。
- 注意:如果分类和标签都使用根目录下的纯数字路径,会出现规则匹配冲突,因此上面的示例默认给标签路径加了
/tag/前缀,可根据需求自行调整
方案2:使用自定义随机数字/关联文章ID作为路径
如果不想用分类/标签自带的ID,需要用自定义随机数或者关联的文章ID作为路径,按以下步骤操作:
- 给分类、标签添加自定义字段,字段名可设为
custom_url_number,保存分类/标签时自动生成不重复的随机数,或手动填写要绑定的文章ID。 - 调整上述重写规则,将匹配到的数字改为通过自定义字段查询对应分类/标签即可实现。
注意事项
- 操作前请提前备份网站数据库和主题文件,避免代码添加错误导致站点异常。
- 修改后如果访问路径出现404,重新进入固定链接页面保存一次刷新规则即可解决。
- 原有分类/标签名称路径如需保留可访问,可额外添加301重定向规则,将旧路径跳转至新的数字路径。
内容的提问来源于stack exchange,提问作者Rik788
相关产品推荐
相关产品推荐

