大约一年前,我为一个客户建立了一个简单的站点,它使用一个修改过的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;
}
}
是否有一个简单的非插件解决方案来限制站点并将未登录的用户重定向到登录页面?我尝试过删除插件,使用不同的主题,等等。看起来很简单,但找不到解决方案。
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;
}
}