使用 add rewrite rule 为 WordPress 添加自定义 URL 重写规则

文 / @WordPress主题

addrewriterule描述

add_rewrite_rule()函数允许我们为WordPress添加自定义重写规则。通常,我们需要和add_rewrite_tag()函数配合使用,来添加WordPress可以识别的自定义查询参数。

addrewriterule使用

add_rewrite_rule($regex,$redirect,$after);

addrewriterule参数

$regex

(string)(必需)一个匹配请求URL的正则表达式,可是使用一个或多个正则表达式组。
默认:None

$redirect

(string)(必需):真正需要获取的URL,($regex匹配时)。我们可以使用$matches[]数组在这里插入捕获获的匹配组。
默认:None

$after

(string)(可选):这可以是‘top’或‘bottom’,其中‘top’将在WordPress现有的规则之前优先处理,而‘bottom’将在其他规则之后处理。
默认:“bottom”

addrewriterule使用示例

基本使用方法

首先,我们可以使用正则表达式匹配页面ID,从而方便地获取某个页面的ID,然后我们就能够自定义这个页面的访问URL了。

add_action('init',function()
{
    add_rewrite_rule('^leaf/([0-9]+)/?','index.php?page_id=$matches[1]','top');
});
获取匹配URL的值时,捕获组数据从1开始,而不是0。修改规则后,不要忘记清除和重新生成规则数据库。在WordPress管理界面,选择设置->固定链接,然后直接点击保存修改。
添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。