WordPress登錄才能查看網(wǎng)站內(nèi)容,未登錄就跳轉(zhuǎn)到登錄頁(yè)面。有這樣需求的人還不少,一般都是用在WordPress博客主題,有的可能是資料類什么的,有的人就是用來(lái)搞擦邊球,對(duì)于WordPress企業(yè)主題的用戶基本上是沒(méi)有什么需求的。
實(shí)現(xiàn)代碼很簡(jiǎn)單,找一個(gè)全站一定會(huì)執(zhí)行的鉤子即可,這里我們就選了一個(gè)template_redirect鉤子,這個(gè)動(dòng)作鉤子在加載模板時(shí)執(zhí)行,當(dāng)然其它很多都可以用。
[php]//template_redirect動(dòng)作鉤子是一定會(huì)執(zhí)行的,所以用這個(gè)鉤子對(duì)全站有效
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
//判斷登錄
if( !is_user_logged_in() ){
auth_redirect(); //跳轉(zhuǎn)到登錄頁(yè)面
exit();
}
}[/php]
更復(fù)雜的需求,有人需要整站再留一兩個(gè)頁(yè)面,比如留個(gè)“公告說(shuō)明”頁(yè)面提供訪問(wèn),那在判斷登錄的代碼里面增加一個(gè)頁(yè)面判斷即可,范例:
[php]//template_redirect動(dòng)作鉤子是一定會(huì)執(zhí)行的,所以用這個(gè)鉤子對(duì)全站有效
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
//判斷登錄,about頁(yè)面就允許訪問(wèn)
if( !is_page('about') && !is_user_logged_in() ){
auth_redirect(); //跳轉(zhuǎn)到登錄頁(yè)面
exit();
}
}[/php]
新主題官方微信公眾號(hào)
掃碼關(guān)注新主題(XinTheme)官方公眾號(hào),本站動(dòng)態(tài)早知道。
發(fā)布本站最新動(dòng)態(tài)(新主題發(fā)布、主題更新)和WordPress相關(guān)技術(shù)文章。