如何使wordpress博客对公众完全不可见[非私有]

时间:2014-03-19 22:48:39

标签: wordpress wordpress-plugin locking invisible

我想关闭一个我公开的wordpress博客,并且仅为自己保留。

我知道我可以将它设置为私有,但它显示了一个uggly登录页面,我不希望有人试图访问它(使用随机用户名/传递等)或者认为它仍然打开但是对于有帐户或这样的事情。

我希望博客指向一个"找不到服务器"对于公众而言,当我以管理员身份登录时,可以查看我的帖子和后端以及前端。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

我的建议如下:

function is_login_page() {
    return in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) );
}

function wpse_make_blog_private() {
    if ( ! is_user_logged_in() && ! is_admin() && ! is_login_page() ) { 
        global $wp_query;
        $wp_query->set_404();
    }
}
add_action( 'wp', 'wpse_make_blog_private' );

它会在所有页面上显示404但仍允许您登录。登录用户将看到网站正常。

在显示完全损坏的网站的请求中,将以下代码添加到functions.php中。请注意,这不是上面的代码。

function is_login_page() {
    return in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php' ) );
}

function wpse_make_blog_private() {
    if ( ! is_user_logged_in() && ! is_admin() && ! is_login_page() ) { 
        die();
    }
}
add_action( 'wp', 'wpse_make_blog_private' );

您可以选择使用wp_die来添加具有最小样式的错误消息。请参阅:https://codex.wordpress.org/Function_Reference/wp_die

答案 1 :(得分:0)

我建议您在以下检查中包含您希望对登录用户可见的所有代码:

if ( is_user_logged_in() ) { 
    // do stuff for logged in users
} else {
    // do stuff for guests / users that are not logged in
}