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

如何为WordPress静态页面添加URL前缀Slug?

给WordPress静态页面添加前缀Slug的几种方法

嘿,这个需求很常见!要把你的http://example.com/trade页面改成http://example.com/tender/trade,有几个实用的方案,你可以根据自己的情况选:

方法一:直接修改页面固定链接(最简单)

这是最直接的操作,适合只改单个页面的情况:

  • 登录WordPress后台,进入「页面」列表,找到你那个名为Trade的静态页面并打开编辑
  • 在页面编辑界面右侧的「文档」面板里,找到「固定链接」模块,点击「编辑」按钮
  • 把原来的trade替换成tender/trade,然后点击「确定」
  • 最后点击页面顶部的「更新」按钮保存修改
  • 小提示:如果旧地址http://example.com/trade还有人访问,一定要设置301永久重定向,避免404错误,还能保留搜索引擎权重。

方法二:通过父页面实现前缀(适合批量管理)

如果你以后可能还有其他页面要放在tender/前缀下,用父页面的方式更规整:

  • 先创建一个空白页面,标题设为「Tender」,固定链接的slug设置为tender,然后发布
  • 回到你的Trade页面,在右侧「文档」面板的「父级」下拉菜单里,选择刚才创建的「Tender」页面
  • 保存页面后,Trade页面的固定链接就会自动变成tender/trade
  • 这种方式的好处是,所有归到Tender下的子页面都会自动带上tender/前缀,方便统一管理。

方法三:用代码自定义(适合开发者或不想用插件的场景)

如果不想依赖插件,或者需要更灵活的逻辑,可以在主题的functions.php文件(或者自定义插件)里添加代码:

修改页面slug的代码

function custom_add_tender_prefix( $post_link, $post ) {
    // 只针对slug为trade的页面修改链接
    if ( 'page' === $post->post_type && 'trade' === $post->post_name ) {
        $post_link = str_replace( '/trade/', '/tender/trade/', $post_link );
    }
    return $post_link;
}
add_filter( 'post_type_link', 'custom_add_tender_prefix', 10, 2 );

添加完代码后,记得去后台「设置」→「固定链接」页面,随便选择一个选项点击「保存更改」,刷新固定链接规则让代码生效。

旧地址重定向代码(可选)

如果需要把旧地址/trade/重定向到新地址,再加这段代码:

function redirect_old_trade_url() {
    if ( $_SERVER['REQUEST_URI'] === '/trade/' ) {
        wp_redirect( home_url( '/tender/trade/' ), 301 );
        exit;
    }
}
add_action( 'template_redirect', 'redirect_old_trade_url' );

注意事项

  • 修改slug后,记得检查页面内部的链接、导航菜单里的地址,有没有指向旧地址的,及时更新
  • 301重定向是必须的,不管用插件还是代码,都要确保旧地址能跳转到新地址
  • 如果用插件管理重定向,推荐Redirection或者Permalink Manager,操作更直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:36:05