Como restringir todo um site WordPress aos visitantes, mas a página de registro e login?

Restringir site, mas Login e Página de Registro


Quero que meu site inteiro do WordPress seja restrito aos visitantes, mas eu quero que o registro e a página de login sejam acessíveis (não restritos) aos visitantes

Uma vez que o meu site é um site apenas para membros, quero restringir o access para que os visitantes vejam apenas 2 páginas, a página de login e a página de registro.

Eu tentei vários plugins para fazer exatamente isso, mas infelizmente para mim, não consegui encontrar o caminho certo. Alguns plugins redirecionam o site inteiro para uma página enquanto outros plugins requerem configurações de redirecionamento personalizadas para cada página serem adicionados separadamente.

O que eu quero:-

  1. Restrinja todo o site do WordPress aos visitantes por redirecionamento.
  2. Não restrinja 2 páginas, Página de Login e Página de Registro.
  3. Redirecionar Usuários para Página de Login e / ou Página de Registro.

Existe uma opção na minha Página de Login para visualizar a Página de Registro.
Quero que essas duas páginas sejam acessíveis para o visitante e o resto do site seja inacessível.

Solutions Collecting From Web of "Como restringir todo um site WordPress aos visitantes, mas a página de registro e login?"

O código abaixo funcionará com as canvass de login / registro do WordPress padrão:

add_action( 'wp', 'member_only_site' ); function member_only_site( ) { if ( ! is_user_logged_in( ) ) { auth_redirect(); } } 

tente este código

 function redi() { global $pagenow; if (!is_user_logged_in() && $pagenow != 'wp-login.php' && $pagenow !='wp-login.php?action=register') { wp_redirect('wp-login.php?action=register'); }} add_action('template_redirect', 'redi'); 

Uma possível alternativa:

 global $pagenow; $accessible_pages = array('wp-login.php', 'wp-login.php?action=register'); if ( !is_user_logged_in() && !in_array($pagenow, $accessible_pages) && !is_admin() ) { auth_redirect(); } 

Você pode inserir na matriz “páginas acessíveis” as páginas (separadas por vírgulas) que você deseja que sejam publicamente acessíveis aos visitantes, evitando redirecionamentos para a página de login sempre que uma página é carregada.