下面由WordPress教程欄目給大家介紹WordPress 登錄查看網(wǎng)站的方法,希望對需要的朋友有所幫助!
如網(wǎng)站內(nèi)容只希望注冊用戶瀏覽,對其他所有人隱藏,瀏覽者未登錄訪問直接跳轉(zhuǎn)到登錄注冊頁面,可以用下面的代碼實現(xiàn)。
將下面代碼添加到當前主題函數(shù)模板functions.php中:
代碼一 未登錄訪問網(wǎng)站直接跳轉(zhuǎn)到默認登錄頁面。
add_action( 'wp', 'login_access' ); function login_access() { global $pagenow; if( !is_user_logged_in() && $pagenow != 'wp-login.php' ) auth_redirect(); }
代碼二 未登錄訪問網(wǎng)站,可以302跳轉(zhuǎn)到自定義的頁面
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://'; // 判斷站內(nèi)鏈接 $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(); // 跳轉(zhuǎn)的頁面鏈接 $page = '跳轉(zhuǎn)到的頁面鏈接'; // 執(zhí)行302跳轉(zhuǎn) wp_safe_redirect( $page, 302 ); // 跳轉(zhuǎn)到默認登錄頁面 // wp_safe_redirect( wp_login_url(), 302 ); exit; } } }
注:跳轉(zhuǎn)的頁面鏈接要同時加到白名單中,否則會形成死循環(huán)