WordPress开发函数add_rewrite_endpoint()
WordPress开发函数add_rewrite_endpoint(),添加一个端点,如/trackback/…
WordPress开发函数add_rewrite_endpoint(),添加一个端点,如/trackback/。
用法:
add_rewrite_endpoint( string $name, int $places, string|bool $query_var = true )
描述
添加端点会为所提供的位掩码指定的每个匹配位置创建额外的重写规则。例如:
add_rewrite_endpoint( ‘json’, EP_PERMALINK | EP_PAGES );
将添加一个新的重写规则以”json(/(.*))?/?$”对于每个描述永久链接(文章)或页面的永久结构。这被重写为”json=$match”其中$match是由端点正则表达式匹配的URL的一部分(例如:“foo”在“永久链接/ json / foo /”)。
还将创建与端点同名的新查询var。
当指定$places时,请确保您使用的是EP_*常量(或使用按位或操作符的它们的组合),因为它们的值不保证保持静态(特别是EP_ALL)。
当你的插件被激活和去激活时,一定要刷新重写规则——参见flush_rewrite_rules()。
参数:
$name
(string) (必需) 终端的名称。
$places
(int) (必需) 端点掩码描述端点应该被添加的位置。接受一个掩码:
EP_ALL
EP_NONE
EP_ALL_ARCHIVES
EP_ATTACHMENT
EP_AUTHORS
EP_CATEGORIES
EP_COMMENTS
EP_DATE
EP_DAY
EP_MONTH
EP_PAGES
EP_PERMALINK
EP_ROOT
EP_SEARCH
EP_TAGS
EP_YEAR
$query_var
(string|bool) (可选) 对应查询变量的名称。传递false跳过为这个端点注册query_var。默认值为$name。
默认值: true
更多信息:
这会将端点添加到所有指定的链接类型(例如,帖子、页面、类别、作者、搜索),然后template-loader.php包含相关的处理程序文件。
端点的名称被添加为查询变量,这将获取端点名称之后的任何文本,并用’ / ‘与名称分隔。template_redirect动作钩子应该测试这个查询变量。
这可以用于各种事情:
ajax处理程序
表单提交处理程序
选择通知处理程序
来源
文件: wp-includes/rewrite.php
function add_rewrite_endpoint( $name, $places, $query_var = true ) {
global $wp_rewrite;
$wp_rewrite->add_endpoint( $name, $places, $query_var );
}
更新日志:
用户贡献的笔记
(由克斯托夫五年前提供)
$places的可用值:
EP_NONE
默认的端点掩码,这是什么都没有。
位值:0
EP_PERMALINK
永久链接的端点掩码。
位值:1
EP_ATTACHMENT
用于附件的端点掩码。
位值:2
EP_DATE
日期的端点掩码。
位值:4
EP_YEAR
终年面膜
位值:8
EP_MONTH
终末面膜一个月。
位值:16
EP_DAY
白天用的终末面膜。
32位的值:
EP_ROOT
根的端点掩码。
位值:64
EP_COMMENTS
注释的端点掩码。
位值:128
EP_SEARCH
搜索的端点掩码。
位值:256
EP_CATEGORIES
类别的端点掩码。
位值:512
EP_TAGS
标签的端点掩码。
位值:1024
EP_AUTHORS
为作者提供端点掩码。
位值:2048
EP_PAGES
页面的端点掩码。
位值:4096
EP_ALL_ARCHIVES
所有存档视图的端点掩码。
与使用EP_DATE | EP_YEAR | EP_MONTH | EP_DAY | EP_CATEGORIES | EP_TAGS | EP_AUTHORS相同
EP_ALL
端点掩码。
同使用EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEARCH | EP_PAGES | EP_ALL_ARCHIVES
(由克斯托夫五年前提供)
重写端点API教程:https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!