《PHP應(yīng)用:WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實(shí)例講解》要點(diǎn):
本文介紹了PHP應(yīng)用:WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實(shí)例講解,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
PHP編程flush_rewrite_rules() 函數(shù)用來刪除然后根據(jù)現(xiàn)有的條件重寫偽靜態(tài)規(guī)則,也就是刷新一次偽靜態(tài)規(guī)則了.
PHP編程先來說一下,通常在主題或者插件添加新的自定義文章類型的時(shí)候調(diào)用,防止新的自定義文章類型的文章出現(xiàn) 404 的情況,或者很多時(shí)候我們都需要在主題啟用的時(shí)候執(zhí)行一些代碼,比如布置一些數(shù)據(jù)庫表單、跳轉(zhuǎn)到設(shè)置頁面等等,WordPress 本身并沒有提供相關(guān)的鉤子,網(wǎng)上也有很多五花八門的實(shí)現(xiàn)方法,經(jīng)過我的研究,發(fā)現(xiàn)了可能是最優(yōu)的方法,下邊分享給大家:
PHP編程
/**
*WordPress 在主題啟用的時(shí)候執(zhí)行一些代碼
*http://www.endskin.com/theme-activation-action/
*/
function Bing_theme_activation(){
if( $GLOBALS['pagenow'] != 'themes.php' || !isset( $_GET['activated'] ) ) return;
/*
這里就可以放置在主題啟用的時(shí)候要執(zhí)行的代碼了,比如跳轉(zhuǎn)到設(shè)置界面:
wp_redirect( admin_url( 'options-general.php' ) );//注意修改頁面地址
die;
*/
}
add_action( 'load-themes.php', 'Bing_theme_activation' );
PHP編程此代碼放在主題和插件里都是有效的.
PHP編程另外要注意,更新偽靜態(tài)規(guī)則是非常消耗時(shí)間和效率的,所以不要每次執(zhí)行代碼都調(diào)用,只在必要的情況調(diào)用(比如啟用主題和啟用插件),把 flush_rewrite_rules() 掛到 init 鉤子上是極其不正確的.
PHP編程用法
PHP編程
flush_rewrite_rules( $hard );
PHP編程參數(shù)
PHP編程$hard
PHP編程(布爾)(可選)如果為 True 則一起刷新 .htaccess 文件(hard flush);為 False 則只更新數(shù)據(jù)庫里的偽靜態(tài)規(guī)則(soft flush).
PHP編程默認(rèn)值:True(hard flush).
PHP編程例子
PHP編程在主題啟用的時(shí)候更新偽靜態(tài)規(guī)則:
PHP編程
function Bing_theme_activation(){
if( $GLOBALS['pagenow'] != 'themes.php' || !isset( $_GET['activated'] ) ) return;
flush_rewrite_rules();
}
add_action( 'load-themes.php', 'Bing_theme_activation' );
PHP編程在插件啟用的時(shí)候更新偽靜態(tài)規(guī)則:
PHP編程
function Bing_myplugin_activate(){
flush_rewrite_rules();
}
register_activation_hook( __FILE__, 'Bing_myplugin_activate' );
PHP編程
其它
PHP編程此函數(shù)位于:wp-includes/rewrite.php
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實(shí)例講解》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/8220.html