WP24Horas
PARCEIRO RECOMENDADO Vai colocar um WordPress no ar? Comece com uma hospedagem que acompanha o seu projeto. Conhecer a HostGator link patrocinado

05/08/2024

Redirecionar Visitantes não Logados para a Página de Login

CODIGO DO SNIPPET
// Função para redirecionar visitantes não logados
function wp24horas_redirect_non_logged_in_users() {
    // Verifica se o usuário não está logado e não está na página de login ou na página de registro
    if ( ! is_user_logged_in() && ! is_page('login') && ! is_page('registro') ) {
        // Redireciona para a página de login
        wp_redirect( wp_login_url() );
        exit;
    }
}
add_action( 'template_redirect', 'wp24horas_redirect_non_logged_in_users' );

Este snippet redireciona todos os visitantes que não estejam logados para a página de login do WordPress. Ele também exclui a página de login e a página de registro do redirecionamento para evitar loops de redirecionamento.

Como funciona:

  1. Definição da Função:
    • function wp24horas_redirect_non_logged_in_users() { ... }: Define a função wp24horas_redirect_non_logged_in_users que será responsável pelo redirecionamento dos usuários.
  2. Verificação de Login:
    • if ( ! is_user_logged_in() && ! is_page('login') && ! is_page('registro') ) { ... }: Verifica se o usuário não está logado e não está acessando a página de login ou a página de registro. Isso impede que os usuários sejam redirecionados enquanto tentam fazer login ou se registrar.
      • ! is_user_logged_in(): Verifica se o usuário não está logado.
      • ! is_page('login') && ! is_page('registro'): Verifica se a página atual não é a página de login nem a página de registro.
  3. Redirecionamento para a Página de Login:
    • wp_redirect( wp_login_url() );: Redireciona o usuário para a página de login padrão do WordPress.
    • exit;: Garante que a execução do script seja interrompida após o redirecionamento, evitando qualquer carregamento adicional da página.
  4. Ação de Redirecionamento de Template:
    • add_action( 'template_redirect', 'wp24horas_redirect_non_logged_in_users' );: Adiciona a função wp24horas_redirect_non_logged_in_users ao gancho template_redirect, que é acionado antes do template ser carregado. Isso garante que a verificação e o redirecionamento ocorram antes que qualquer conteúdo da página seja exibido.

Instruções de Uso

Este código pode ser adicionado ao arquivo functions.php do seu tema ou, preferencialmente, em um plugin específico para o site.

Utilizar um plugin para essas customizações mantém o código organizado e seguro contra atualizações do tema.