会员站点-始终将我发送回登录

时间:2015-05-24 作者:fmbns

大约一年前,我为一个客户建立了一个简单的站点,它使用一个修改过的214主题来运行一个仅限成员的站点。您可以查看该站点here.

她希望该网站完全限于会员,我成功地使用了Restricted Site Access 插件。它工作得很好,但最近开始在每次单击网站时重定向回登录页面。用户保持登录状态,但无论如何,他们都会返回到登录页面。

我在这里找到了一个代码解决方案并实现了它,但它也在做同样的事情:

add_action( \'template_redirect\', \'wpse16975_check_if_logged_in\' );
function wpse16975_check_if_logged_in() {
    if( !is_user_logged_in() ) {
        $url = add_query_arg(
            \'redirect_to\',
            get_permalink( $pageid ),
            site_url( \'wp-login.php\' )
        );
        wp_redirect( $url );
        exit;
    }
}
是否有一个简单的非插件解决方案来限制站点并将未登录的用户重定向到登录页面?我尝试过删除插件,使用不同的主题,等等。看起来很简单,但找不到解决方案。

1 个回复
SO网友:cybmeta

您正在代码中使用未定义的变量($padeid), 这可能会给你带来麻烦。请尝试以下代码:

add_action(\'template_redirect\',\'wpse16975_check_if_logged_in\');
function wpse16975_check_if_logged_in(){

    global $wp;

    if( ! is_user_logged_in() ) {

        $url = wp_login_url( site_url( add_query_arg( array(), $wp->request ) ) );
        wp_redirect( $url );

        exit;

    }

}

结束

相关推荐

Setting up a members area

我正在尝试在网站上设置一个成员区,我已经想出了一个解决方案,但想知道是否有人知道一个更简单或更好的方法。问题是用户没有登录WordPress,他们被发送到单独的产品进行预订等。我实现这一点的方式是有两个独立的主题-来宾主题,它阻止了除一个之外的所有类别帖子,并且只有几个特定页面的链接,而成员主题可以访问所有内容。一旦用户登录到单独的产品,所有链接都会通过主题切换链接回来,使用(site.com/?wptheme=memberstheme),时间限制为一小时,重置为来宾主题,从而在一小时后注销。有没有更好的