前期准备与注意事项
操作前必须先完成全站备份,包括数据库和网站根目录文件,可使用UpdraftPlus备份插件完成,官方下载地址:https://wordpress.org/plugins/updraftplus/ 。新手建议先在测试站点操作验证,确认无误后再修改生产站点内容。
方法一:后台原生功能修改(适合90%普通用户)
操作步骤
- 1. 登录WordPress后台,左侧菜单栏找到「文章」-「分类目录」点击进入
- 2. 找到需要修改别名的分类,鼠标悬浮在分类名称上,点击弹出的「编辑」按钮
- 3. 进入编辑页后找到「别名」输入框,删除原有内容,输入新别名(注意:别名仅支持英文、数字、横杠、下划线,禁止使用中文和特殊字符,否则会出现乱码或404错误)
- 4. 拉到页面最下方点击「更新」按钮,即可完成基础修改
修改后404问题解决
修改后如果访问分类页出现404,按照以下步骤操作即可解决:
- 1. 后台左侧菜单栏找到「设置」-「固定链接」点击进入
- 2. 不需要修改任何现有配置,直接拉到页面最下方点击「保存更改」按钮,系统会自动重写伪静态规则,解决404问题
方法二:SQL批量修改(适合需要修改大量分类别名的用户)

操作前必须单独备份数据库,SQL操作失误会直接导致网站数据损坏或崩溃。
操作步骤
- 1. 登录主机控制面板(宝塔、cPanel等),找到「phpMyAdmin」点击进入,选择你的WordPress对应的数据库
- 2. 先执行查询语句确认要修改的分类信息,避免改错:
```sql
SELECT term_id, name, slug FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'category');
```
注意:如果你的数据库表前缀不是默认的wp_,需要把语句中的wp_替换成你自己的表前缀,可在网站根目录wp-config.php文件中查看$table_prefix参数获取实际前缀。
- 3. 确认要修改的分类的term_id后,执行更新语句,比如把term_id为3的分类别名从old-slug改成new-slug:
```sql
UPDATE wp_terms SET slug = 'new-slug' WHERE term_id = 3;
```
如果要批量修改多个分类,可使用CASE语句一次性执行:
```sql
UPDATE wp_terms
SET slug = CASE term_id
WHEN 2 THEN 'news'
WHEN 3 THEN 'tutorial'
WHEN 5 THEN 'case'
ELSE slug
END
WHERE term_id IN (2,3,5);
```
- 4. 执行完成后,回到WordPress后台「设置」-「固定链接」点击保存更改,刷新分类页即可生效
常见报错处理
如果执行SQL提示权限不足,联系主机服务商开通数据库修改权限;如果执行后分类别名没有变化,确认表前缀是否正确,同时清理网站缓存(插件缓存、CDN缓存、浏览器缓存)后再验证。
方法三:代码片段自定义修改规则(适合需要特殊别名规则的用户)
适用于需要自动生成拼音别名、统一加前缀等特殊需求的场景。
操作步骤
- 1. 登录WordPress后台,找到「外观」-「主题文件编辑器」,右侧找到「functions.php」(主题函数文件)点击进入。如果找不到该入口,说明网站配置了禁止修改主题文件,可打开根目录wp-config.php文件,找到
define( 'DISALLOW_FILE_EDIT', true );这行,将true改为false即可,也可直接安装Code Snippets插件添加代码,官方下载地址:https://wordpress.org/plugins/code-snippets/
- 2. 把以下代码复制粘贴到functions.php文件的最下方,点击保存:
```php
// 自动将中文分类名转换为拼音别名
function auto_category_slug_to_pinyin( $term_id, $tt_id, $taxonomy ) {
if ( $taxonomy != 'category' ) return;
$term = get_term( $term_id, $taxonomy );
// 仅当别名为空或包含中文时自动转换
if ( empty( $term->slug ) || preg_match('/[\x{4e00}-\x{9fa5}]/u', $term->slug ) ) {
$slug = remove_accents( $term->name );
$slug = sanitize_title( $slug );
wp_update_term( $term_id, $taxonomy, array( 'slug' => $slug ) );
}
}
add_action( 'created_term', 'auto_category_slug_to_pinyin', 10, 3 );
add_action( 'edited_term', 'auto_category_slug_to_pinyin', 10, 3 );
```
如果使用Code Snippets插件,直接新建PHP片段,粘贴代码后选择「全局运行」并启用即可,不会受主题升级影响。
- 3. 启用代码后,后续新增或编辑分类时,系统会自动将中文分类名转换为拼音别名,无需手动输入。
修改后必做的验证与优化操作
- 1. 访问所有修改过别名的分类页,确认页面可以正常打开,没有404错误,内容显示正常
- 2. 配置301重定向,如果网站已被搜索引擎收录,旧分类地址会产生死链,可使用Redirection插件配置重定向,官方下载地址:https://wordpress.org/plugins/redirection/ ,添加规则时源地址填
/旧分类别名/,目标地址填/新分类别名/$1,勾选正则匹配即可生效
- 3. 更新站点地图,如果你使用了Yoast SEO、Rank Math等SEO插件,手动触发站点地图更新,提交给搜索引擎,加快新地址的收录
- 4. 清理所有缓存,包括网站缓存插件缓存、CDN缓存、浏览器缓存,确保所有用户访问到的都是新的地址