如果未登录WordPress,则重定向到特定页面

Ben*_*dge 1 php wordpress redirect loops login

如果用户未登录,我试图在我的WordPress网站上将其重定向到登录页面,但它始终卡在重定向循环中。这基本上是我所拥有的(在functions.php中)...

    add_action( 'template_redirect', function() {

        if ( !is_user_logged_in() && ! is_page('login-to-view') ){
            wp_redirect( site_url( '/login-to-view' ) );
            exit();
        }

     });
Run Code Online (Sandbox Code Playgroud)

小智 7

我知道我迟到了。我听说Big和Pac摇摆不定...无论如何,这通常是我做的:

  1. 创建一个登录页面,例如www.site.com/login
  2. 在我的functions.php中,添加以下代码:
add_action( 'template_redirect', function() {

    if( ( !is_page('login') ) ) {

        if (!is_user_logged_in() ) {
            wp_redirect( site_url( '/login' ) );        // redirect all...
            exit();
        }

    }

});
Run Code Online (Sandbox Code Playgroud)

说明:上面发生的是,除了登录页面之外,对网站上每个页面的访问都受到限制。您可以根据需要选择排除或包括其他页面,以及wp-admin URL。