添加重写标签WordPress函数add_rewrite_tag

如果你对你的wordpress网站url不够满意,并且不想大范围修改URL那么可以使用这个方法。add_rewrite_tag函数可以用来添加自定义查询字符串,一般和add_rewrite_rule() 配合使用为自定义模板添加自定义URL重定向规则。今天就分享一下添加重写标签WordPress函数add_rewrite_tag的基础知识。

添加重写标签WordPress函数add_rewrite_tag

add_rewrite_tag( string $tag, string $regex, string $query = ” )

描述:

$query参数是可选的。如果省略了它,则必须确保在“init”钩子上或之前调用它。这是因为$query默认为“$tag=”,为此必须添加一个新的查询var。

参数:

$tag

(string) (必需) 新重写标记的名称

$regex

(string) (必需) 正则表达式以替换重写规则中的标记。

$query

(string) (可选) 字符串来附加到重写的查询。必须以“=”结尾。默认空字符

简单示例:

在下面的例子中,假设一个站点有一个自定义的分类法‘Location’,并且所有的帖子都被分配了一个类似于“Paris”或“Madrid”的位置术语。我们添加一个重写标记“%Location%”来建立位置查询var。我们还添加了一个重写规则,以便正确地处理一个URL,比如example.com/goto/madand/bank-lodging/。

add_action(‘init’, ‘add_my_rewrites’);

function add_my_rewrites() {

add_rewrite_tag(‘%location%’, ‘([^&]+)’, ‘location=’);

add_rewrite_rule(‘^goto/([^/]*)/([^/]*)/?’,’index.php?location=$matches[1]&name=$matches[2]’,’top’);

}

尽管重写标记看起来就像permalink结构标记,但是如果您试图在permalink结构中使用重写标记,WordPress生成的URL看起来将类似于example.com/goto/%location%/budget-lodging/。正确的术语并不像您可能预期的那样替换重写标记。要使您的标记行为像一个结构标记,使用“post_link”筛选器将标记替换为适当的术语。

// Assign value to %location% rewrite tag

add_filter(‘post_link’, ‘my_filter_post_link’, 10, 2 );

function my_filter_post_link( $permalink, $post ) {

// bail if %location% tag is not present in the url:

if ( false === strpos( $permalink, ‘%location%’))

return $permalink;

$terms = wp_get_post_terms( $post->ID, ‘location’);

// set location, if no location is found, provide a default value.

if ( 0 < count( $terms ))

$location = $terms[0]->slug;

else

$location = ‘timbuktu’;

$location = urlencode( $location );

$permalink = str_replace(‘%location%’, $location , $permalink );

return $permalink;

}

每当您更改与重写API相关的内容时,不要忘记刷新重写规则!这可以通过转到固定链接设置并单击保存更改来完成,而无需使用代码。您实际上不需要在设置屏幕上进行任何更改。

小车博客下载必看

给TA打赏
共{{data.count}}人
人已打赏
WP教程

wordpress登录实现彩色验证码功能方法

2020-7-14 10:34:36

WP教程

WordPress 5.5 内置图像延迟加载功能,需要满足哪些需求?

2020-7-15 10:10:44




重要声明

本站资源来自会员发布以及互联网收集,不代表本站立场,如有侵犯你的权益请联系管理员-车车站内发信联系 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请用户仔细辨认内容的真实性,避免上当受骗!本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请在下载24小时内删除!


如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip,zip、rar解压,建议下载WinRAR

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索