描述
添加端点会为提供的位掩码(bitmask)指定的每个匹配位置创建额外的重写规则。例如:
add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );
这将为文章或页面固定链接的每个固定结构添加一个新的重写规则:"json(/(.*))?/?$"。它被重写为"json=$match",其中$match是与端点正则匹配的URL的一部分(如"[permalink]/json/foo/")中的“foo”)。
还将创建与端点同名的新查询变量。
指定$places时,请确保使用EP_*常量(或使用位数OR运算符的组合),因为它们的值不能保证保持静态(尤其是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 处理程序
- 表单提交处理程序
- 替代通知处理程序
源码
更新日志
版本 | 描述 |
---|---|
4.3.0 | 通过将false 传递给$query_var ,添加了对跳过查询变量注册的支持。 |
2.1.0 | 开始引入 |
使用示例
$places
的可用值:EP_NONE
默认端点掩码,即没有。
位值:0EP_PERMALINK
固定连接端点掩码。
位值:1EP_ATTACHMENT
用于附件的端点掩码。
位值:2EP_DATE
日期的端点掩码。
位值:4EP_YEAR
年的端点掩码。
位值:8EP_MONTH
月的端点掩码。
位值:16EP_DAY
日的端点掩码。
位值:32EP_ROOT
根的端点掩码。
位值:64EP_COMMENTS
评论的端点掩码。
位值:128EP_SEARCH
搜索的端点掩码。
位值:256EP_CATEGORIES
类别的端点掩码。
位值:512EP_TAGS
标签的端点掩码。
位值:1024EP_AUTHORS
作者的端点掩码。
位值:2048EP_PAGES
页面的端点掩码。
位值:4096EP_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 相同