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

WordPress带后缀波浪线URL匹配规则调整及代码插入位置咨询

WordPress带波浪线后缀URL匹配代码的放置位置

嘿,我来给你梳理清楚这个问题——在WordPress里实现带波浪线后缀的URL(比如example.com/postname~)不匹配普通postname链接的规则,代码可以放在这几个地方,各有优劣,你可以根据自己的需求选择:

1. 主题的functions.php文件(子主题优先)

这是最常用的自定义功能放置位置,你可以直接打开当前激活主题的functions.php文件。重点提醒:如果你用的是子主题,一定要把代码放在子主题的functions.php里,不然主题更新后你的代码会直接丢失。

这种方式的好处是操作简单,不用额外创建文件;但缺点也很明显——如果你之后更换主题,这段重写规则就会失效,所以适合只在当前主题下使用的功能。

2. 自定义独立插件

这是更稳妥、更推荐的长期方案,完全不受主题更换或更新的影响。具体操作很简单:

  • 登录你的服务器,找到wp-content/plugins/目录,新建一个比如custom-tilde-rewrites.php的文件
  • 在文件开头加上插件的基础标识注释(WordPress会识别这个文件为插件):
    <?php
    /*
    Plugin Name: Custom Tilde URL Rewrites
    Description: Adds rewrite rules to distinguish tilde-suffixed URLs from regular postnames
    Version: 1.0
    Author: Your Name
    */
    
  • 把你的重写规则代码放在这段注释后面
  • 回到WordPress后台的“插件”页面,找到这个新建的插件并启用它

这种方式的优势是功能独立,不管你换什么主题,规则都会一直生效,非常适合需要长期保留的自定义功能。

绝对不要碰核心文件

千万不要把代码放到wp-includes/或者wp-admin/这类WordPress核心目录的文件里!每次WordPress版本更新,这些核心文件都会被完全覆盖,你的代码会直接丢失,甚至可能破坏整个站点的稳定性。

额外提示

不管你选择哪种放置方式,代码都需要通过init钩子来触发,比如你可以用这样的示例代码:

function custom_tilde_rewrite_setup() {
    // 更新重写标签,匹配带波浪线的postname
    add_rewrite_tag('%postname_tilde%', '([^/]+~)');
    // 添加优先级最高的重写规则
    add_rewrite_rule('^([^/]+~)/?', 'index.php?postname_tilde=$matches[1]', 'top');
}
add_action('init', 'custom_tilde_rewrite_setup');

写完代码后,记得去WordPress后台的「设置-固定链接」页面,随便点一下“保存更改”,刷新WordPress的重写规则,这样新的规则才会生效。

内容的提问来源于stack exchange,提问作者Michael S. Howard

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:28:28