WordPress開發(fā)函數(shù)add_rewrite_endpoint()
wordpress開發(fā)函數(shù)add_rewrite_endpoint(),添加一個(gè)端點(diǎn),如/trackback/。
用法:
add_rewrite_endpoint( string $name, int $places, string|bool $query_var = true )
描述
添加端點(diǎn)會(huì)為所提供的位掩碼指定的每個(gè)匹配位置創(chuàng)建額外的重寫規(guī)則。例如:
add_rewrite_endpoint( 'json', EP_PERMALINK | EP_PAGES );
將添加一個(gè)新的重寫規(guī)則以"json(/(.*))?/?$"對(duì)于每個(gè)描述永久鏈接(文章)或頁(yè)面的永久結(jié)構(gòu)。這被重寫為"json=$match"其中$match是由端點(diǎn)正則表達(dá)式匹配的URL的一部分(例如:“foo”在“永久鏈接/ json / foo /”)。
還將創(chuàng)建與端點(diǎn)同名的新查詢var。
當(dāng)指定$places時(shí),請(qǐng)確保您使用的是EP_*常量(或使用按位或操作符的它們的組合),因?yàn)樗鼈兊闹挡槐WC保持靜態(tài)(特別是EP_ALL)。
當(dāng)你的插件被激活和去激活時(shí),一定要刷新重寫規(guī)則——參見flush_rewrite_rules()。
參數(shù):
$name
(string) (必需) 終端的名稱。
$places
(int) (必需) 端點(diǎn)掩碼描述端點(diǎn)應(yīng)該被添加的位置。接受一個(gè)掩碼:
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) (可選) 對(duì)應(yīng)查詢變量的名稱。傳遞false跳過為這個(gè)端點(diǎn)注冊(cè)query_var。默認(rèn)值為$name。
默認(rèn)值: true
更多信息:
這會(huì)將端點(diǎn)添加到所有指定的鏈接類型(例如,帖子、頁(yè)面、類別、作者、搜索),然后template-loader.php包含相關(guān)的處理程序文件。
端點(diǎn)的名稱被添加為查詢變量,這將獲取端點(diǎn)名稱之后的任何文本,并用' / '與名稱分隔。template_redirect動(dòng)作鉤子應(yīng)該測(cè)試這個(gè)查詢變量。
這可以用于各種事情:
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 );
}
更新日志:
用戶貢獻(xiàn)的筆記
(由克斯托夫五年前提供)
$places的可用值:
EP_NONE
默認(rèn)的端點(diǎn)掩碼,這是什么都沒有。
位值:0
EP_PERMALINK
永久鏈接的端點(diǎn)掩碼。
位值:1
EP_ATTACHMENT
用于附件的端點(diǎn)掩碼。
位值:2
EP_DATE
日期的端點(diǎn)掩碼。
位值:4
EP_YEAR
終年面膜
位值:8
EP_MONTH
終末面膜一個(gè)月。
位值:16
EP_DAY
白天用的終末面膜。
32位的值:
EP_ROOT
根的端點(diǎn)掩碼。
位值:64
EP_COMMENTS
注釋的端點(diǎn)掩碼。
位值:128
EP_SEARCH
搜索的端點(diǎn)掩碼。
位值:256
EP_CATEGORIES
類別的端點(diǎn)掩碼。
位值:512
EP_TAGS
標(biāo)簽的端點(diǎn)掩碼。
位值:1024
EP_AUTHORS
為作者提供端點(diǎn)掩碼。
位值:2048
EP_PAGES
頁(yè)面的端點(diǎn)掩碼。
位值:4096
EP_ALL_ARCHIVES
所有存檔視圖的端點(diǎn)掩碼。
與使用EP_DATE | EP_YEAR | EP_MONTH | EP_DAY | EP_CATEGORIES | EP_TAGS | EP_AUTHORS相同
EP_ALL
端點(diǎn)掩碼。
同使用EP_PERMALINK | EP_ATTACHMENT | EP_ROOT | EP_COMMENTS | EP_SEARCH | EP_PAGES | EP_ALL_ARCHIVES
(由克斯托夫五年前提供)
重寫端點(diǎn)API教程:https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/