WordPress添加URL重定向标签函数:add rewrite tag

add rewrite tag 描述 此函数可以用来添加自定义查询字符串,一般和add_rewrite_rul…

add rewrite tag 描述

此函数可以用来添加自定义查询字符串,一般和add_rewrite_rule() 配合使用为自定义模板添加自定义URL重定向规则。

如果用此函数声明一个已经存在的重定向标签,现有的重定向标签将被覆盖。

此函数必须在init的或更早的时候调用。

add rewrite tag 使用说明

<?php add_rewrite_tag($tag, $regex, $query); ?>

add rewrite tag 参数

$tag

(string) (必需) 重定向标签的名称,开始和结尾需要用 % 包括起来。
默认: None

$regex
(string) (必需) 指定标签的正则表达式
默认: None

$query
(string) (可选) 附加查询到查询属性数组
默认: None

add rewrite tag 做了什么

  • 通过去掉%符号获取查询变量名称:trim($tag, ‘%’)
  • 使用查询标签名称调用 $wp_rewrite->add_rewrite_tag(),生成查询变量名称和对应的正则表达式
  • 添加查询变量到查询参数

add rewrite tag 使用示例

下面的代码将注册一个名称为 ‘film_title’ 的查询标签:

<?php
function custom_rewrite_tag() {
add_rewrite_tag('%film_title%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
?>

这在和自定义页面模板中使用重定向时非常重要。

获取重定向后的查询的参数值

定义了查询标签之后,我们可以使用WordPress的 $wp_query 实例获取自定义的查询参数值,例如,想要获取上面的查询标签的值,我么可以在页面模板中这样获取。

$wp_query->query_vars['film_title']

注意:在一个重定向后的URL上使用 $_GET 变量将获取不到查询参数,即使重定向中包含这个查询参数,想要获取这个参数,必须使用$wp_query。

类别:WordPress技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册