實現 WordPress 登錄查看網站

下面由WordPress教程欄目給大家介紹wordpress 登錄查看網站的方法,希望對需要的朋友有所幫助!

實現 WordPress 登錄查看網站

如網站內容只希望注冊用戶瀏覽,對其他所有人隱藏,瀏覽者未登錄訪問直接跳轉到登錄注冊頁面,可以用下面的代碼實現。

將下面代碼添加到當前主題函數模板functions.php中:

代碼一 未登錄訪問網站直接跳轉到默認登錄頁面。

add_action(?'wp',?'login_access'?); function?login_access()?{ global?$pagenow; if(?!is_user_logged_in()?&&?$pagenow?!=?'wp-login.php'?) auth_redirect(); }

代碼二 未登錄訪問網站,可以302跳轉到自定義的頁面

add_action(?'template_redirect',?'zm_force_login'?); function?zm_force_login()?{ //?判斷登錄 if?(?!?is_user_logged_in()?)?{ //?判斷HTTPS $schema?=?isset(?$_SERVER['HTTPS']?)?&&?'on'?===?$_SERVER['HTTPS']???'https://'?:?'http://'; //?判斷站內鏈接 $url?=?$schema?.?$_SERVER['HTTP_HOST']?.?$_SERVER['REQUEST_URI']; //?添加白名單 $allowed?=?apply_filters_deprecated(?'zm_force_login_whitelist',?array(?array(?'允許訪問的鏈接1',?'允許訪問鏈接2'?)?),?'1.0',?'zm_force_login_bypass'?); $bypass?=?apply_filters(?'zm_force_login_bypass',?in_array(?$url,?$allowed?),?$url?); if?(?preg_replace(?'/?.*/',?'',?$url?)?!==?preg_replace(?'/?.*/',?'',?wp_login_url()?)?&&?!?$bypass?)?{ //?防止緩存 nocache_headers(); //?跳轉的頁面鏈接 $page?=?'跳轉到的頁面鏈接'; //?執行302跳轉 wp_safe_redirect(?$page,?302?); //?跳轉到默認登錄頁面 //?wp_safe_redirect(?wp_login_url(),?302?); exit; } } }

注:跳轉的頁面鏈接要同時加到白名單中,否則會形成死循環

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享