Este snippet redireciona todos os visitantes que não estejam logados para uma página específica do seu site WordPress. No exemplo, a página de destino é /pagina-destino/
.
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('pagina-destino') ) { ... }
: Verifica se o usuário não está logado e não está acessando a página de destino. Isso impede que os usuários sejam redirecionados enquanto tentam acessar a página de destino.! is_user_logged_in()
: Verifica se o usuário não está logado.! is_page('pagina-destino')
: Verifica se a página atual não é a página de destino.
- Redirecionamento para a Página de Destino:
wp_redirect( home_url('/pagina-destino/') );
: Redireciona o usuário para a URL específica da página de destino. Substitua/pagina-destino/
pelo slug da sua página de destino.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
- Adicione o código ao arquivo
functions.php
do seu tema ou, preferencialmente, em um plugin específico para o site. - Substitua
'pagina-destino'
pelo slug da página específica para onde você deseja redirecionar os visitantes não logados.