Wordpress强制用户在查看任何网站内容之前登录

时间:2011-12-19 16:08:00

标签: wordpress redirect login

在wordpress中,我试图在看到任何内容之前先强制用户登录。意味着我希望我的用户首先登录以查看任何单个页面,发布或存档,只有他们可以查看常见问题页面。我正在尝试下面的代码,但问题是我一进入,它再次重定向到登录页面。

但是我的网站结构如下所示,我希望此代码可以正常工作......

// Force user to login on welcome
function my_force_login() {
global $post;

    if (is_single() || is_front_page() || is_page() && !is_page('login') && !is_user_logged_in()){ 
        auth_redirect(); 
    }   
}

欢迎登录界面(如facebook) -主页 -博客 -关于 -联系 -FAQ

所以我想允许访问者只能看到欢迎登录屏幕和常见问题解答,联系页面查看我想强制他们登录的网站其他部分..

我需要你们的大力帮助..非常感谢你们..

3 个答案:

答案 0 :(得分:8)

我认为你错过了一个括号:

if ( ( is_single() || is_front_page() || is_page() ) 
       && !is_page('login') && !is_user_logged_in()){ 
    auth_redirect(); 
} 

答案 1 :(得分:1)

你可以使用一个插件。 Private Only

答案 2 :(得分:1)

简单方法

// Require login for site
get_currentuserinfo();
global $user_ID;
if ($user_ID == '') { 
  header('Location: /wp-login.php'); exit(); 
}