您可以使用wp_loaded
钩子将所有未登录的流量推送到登录屏幕。注意我是如何通过的$_SERVER[\'REQUEST_URI\']
到wp_login_url()
- 这将作为URL参数传递给登录页面,一旦用户成功登录,他们将被重定向回最初尝试访问的URL。
function wpse_178177_redirect_to_login_if_guest() {
if ( ! is_admin() && ! is_user_logged_in() && $GLOBALS[\'pagenow\'] !== \'wp-login.php\' ) {
wp_redirect( wp_login_url( $_SERVER[\'REQUEST_URI\'] ) );
exit;
}
}
add_action( \'wp_loaded\', \'wpse_178177_redirect_to_login_if_guest\' );