将Wordpress博客完全私有以登出访问者?

Mar*_*ine 1 php wordpress redirect

我正在构建一个Wordpress站点,用户需要在访问博客本身之前登录.现在,我用过这个:

add_action('wp_head','foofunc');
function foofunc() {
    if(!is_user_logged_in()) die();
}
Run Code Online (Sandbox Code Playgroud)

但是,这样我无法将用户重定向到另一个URL,因为输出已经开始.有没有办法将未登录的用户重定向到网址?

我会用户,init但也会在wp-admin中重定向用户.

Martti Laine

lau*_*ent 5

使用"init"处理程序和is_admin()来检查用户是否已经在管理面板中:

add_action('init','foofunc');
function foofunc() {
    $isLoginPage = strpos($_SERVER['REQUEST_URI'], "wp-login.php") !== false;   
    if(!is_user_logged_in() && !is_admin() &&  !$isLoginPage) {
        header( 'Location: http://yourdomain.com/login' ) ;
        die();
    }
}
Run Code Online (Sandbox Code Playgroud)