描述
添加端点会为提供的位掩码(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_ALLEP_NONEEP_ALL_ARCHIVESEP_ATTACHMENTEP_AUTHORSEP_CATEGORIESEP_COMMENTSEP_DATEEP_DAYEP_MONTHEP_PAGESEP_PERMALINKEP_ROOTEP_SEARCHEP_TAGSEP_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 相同