"密钥无效"关于wordpress中的订阅者角色

时间:2014-03-12 17:25:15

标签: wordpress wordpress-plugin wordpress-theming

声明 我很抱歉这个问题与另一个问题密切相关。我会评论原帖,但我没有足够的声誉,而且我没有足够的编程经验来回答问题来磨练声誉。

问题 我使用以下代码强制用户登录我的wordpress网站:

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

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

然后我将该函数包含在我的header.php文件中,用于我的子主题。到目前为止一切都很好。

我遇到的问题是,当具有“订阅者”角色的用户登录并尝试访问我的帖子页面(也被设置为我的静态主页)时,他们会被重定向到“丢失密码”页面“无效密钥”错误(即:www.domain.com/lostpassword/?error=invalidkey)。

应该注意的是,我正在使用Theme My Login插件(http://wordpress.org/plugins/theme-my-login/)来设置登录页面的样式。

非常感谢你,温柔。

原帖 Wordpress force user to login before view any site content

1 个答案:

答案 0 :(得分:1)

您是否只想将所有网站的已退出访问者重定向到登录页面?只需将其添加到主题的functions.php文件中,并删除已添加到header.php文件中的代码。

function redirect_to_login_page() {
    if ( ! is_user_logged_in() && ! is_admin() ) {
        wp_redirect( home_url() . '/login/' );
        exit();
    }
}
add_action( 'template_redirect', 'redirect_to_login_page' );

注意:这假设您的登录页面是通过example.com/login/

访问的