下面由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; } } }
注:跳轉的頁面鏈接要同時加到白名單中,否則會形成死循環