O próprio WordPress oferece a uma opção de posts privados, os quais são exibidos apenas para usuários que estejam logados no sistema do site. Porém essa funcionalidade não é muito recomendada. O modo mais funcional de tornar um site no WordPress totalmente privado, é verificar no começo do carregamento da página, se o usuário está logado ou não, assim você consegue impedir que ele consiga ver a página estando deslogado.
Para privatizar seu site, basta adicionar o código abaixo no início do arquivo “header.php” do tema que você está utilizando.
<?php if ( !is_user_logged_in() ) { Header( "location:wp-admin/" ); } ?>
Quando um visitante tentar acessar a página sem estar logado ele será direcionado para a página de login, para que possa entrar com seu usuário e senha.
Fonte: http://www.moledeaprender.com.br/