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:
- Definição da Função:
function wp24horas_redirect_non_logged_in_users() { ... }
: Define a funçãowp24horas_redirect_non_logged_in_users
que será responsável pelo redirecionamento dos usuários.
- 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.
- 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.
- Ação de Redirecionamento de Template:
add_action( 'template_redirect', 'wp24horas_redirect_non_logged_in_users' );
: Adiciona a funçãowp24horas_redirect_non_logged_in_users
ao ganchotemplate_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.