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

WordPress自定义分类法slug添加指定词并移除分类名的实现方法

解决WordPress分类存档URL自定义需求:移除分类名并添加后缀

刚好之前帮朋友处理过一模一样的需求,给你一套亲测有效的方案,分三步就能搞定:

第一步:修改分类的重写规则

我们需要通过register_taxonomy_args过滤器调整brand分类的URL重写结构,让它生成{term-slug}-shop格式的路径。把下面的代码添加到你的主题functions.php文件里,或者自定义功能插件中(更推荐后者,避免主题更新丢失代码):

add_filter( 'register_taxonomy_args', 'custom_brand_taxonomy_rewrite', 10, 3 );
function custom_brand_taxonomy_rewrite( $args, $taxonomy, $object_type ) {
    // 只针对brand分类生效
    if ( 'brand' === $taxonomy ) {
        $args['rewrite'] = array(
            'slug'         => '%brand%-shop', // 定义URL结构为分类别名+shop
            'with_front'   => false, // 如果你固定链接前缀有自定义设置,可根据情况调整为true
            'hierarchical' => false,
            'ep_mask'      => EP_NONE
        );
    }
    return $args;
}

第二步:修正前端输出的分类链接

默认情况下,WordPress生成的分类链接还是会沿用旧的格式,所以我们需要用term_link过滤器替换旧链接,确保前端显示的是新URL:

add_filter( 'term_link', 'custom_brand_term_link', 10, 3 );
function custom_brand_term_link( $termlink, $term, $taxonomy ) {
    // 仅处理brand分类的链接
    if ( 'brand' === $taxonomy ) {
        // 替换原链接中的 /brand/{slug}/ 为 /{slug}-shop/
        $termlink = str_replace( '/brand/' . $term->slug . '/', '/' . $term->slug . '-shop/', $termlink );
    }
    return $termlink;
}

第三步:刷新固定链接规则

这一步非常关键,不刷新的话新的重写规则不会生效:

  • 登录WordPress后台,进入「设置」→「固定链接」页面
  • 不需要修改任何设置,直接点击「保存更改」按钮,WordPress会自动更新重写规则

注意事项

  • 确保你的服务器支持URL重写:Apache服务器需要开启mod_rewrite模块,Nginx服务器需要配置对应的重写规则(一般WordPress主题会提供参考配置)
  • 检查URL冲突:提前确认没有其他页面、文章或分类的slug和{term}-shop格式重复,比如如果有页面叫nike-shop,会导致访问冲突,需要提前调整
  • 代码存放建议:优先使用自定义功能插件存放代码,避免主题更新时丢失修改内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:42:00