网站仅对注册用户可见(非wp-admin)

时间:2015-03-16 作者:JackTheKnife

我已经创建了一个带有自定义登录名的页面,使用wp_login_form() 功能,但如何以中所述的类似方式将所有访问者重定向到该页面that topic?

我的代码如下所示:

function redirect_to_login_if_guest() {

global $post;

if ( ! is_admin() && ! is_user_logged_in() && $post->ID !== 4667 ) {
    wp_redirect( get_permalink(4667) );
    exit;
}
}
add_action( \'wp_loaded\', \'redirect_to_login_if_guest\' );
但不知何故,它进入了无限循环,而不是登录页面。看起来像是wp_loaded 不能用于我的情况。

类似的代码移到了“header”。php\'

global $post;

if ( ! is_admin() && ! is_user_logged_in() && $post->ID != 4667 ) {
    wp_redirect( get_permalink(4667) );
    exit;
}
工作完美无瑕,因此仍指向触发操作wp_loaded. 有什么想法吗?

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

简而言之$post 未在上设置全局wp_loaded 状态请参见:

所以用另一个钩子,比如template_redirect.

结束

相关推荐