Categorias
Tutoriais WordPress

Forçando a tela de login para site WordPress

Força a tela de login pode ser útil quando você vai desenvolver um site e precisa colocar online mas precisa restringir o acesso dos usuários e só quem possui o login pode visualizar o site. Assim evitando o acesso indevido de outros usuários. Existem plugins que realizam essa tarefa, mas uma solução simples pode resolver esse problema.

Forçar a tela de login pode ser útil quando você vai desenvolver um site e precisa publicar online, mas precisa restringir o acesso para apenas os usuários que possuem login. Assim evitando o acesso indevido de outros usuários. Existem plugins que realizam essa tarefa, mas uma solução simples pode resolver esse problema.

Adicionando algumas linhas no arquivo functions.php do seu tema como podemos ver no blog abaixo :

function verifica_login()
{
	if( ! is_user_logged_in() )
	wp_redirect( get_bloginfo('siteurl').'/wp-login.php' );
}

add_action( 'get_header', 'verifica_login' );

O código acima faz o seguinte tratamento, adiciona uma ação extra a função get_header ou hook(gancho) conhecido por alguns desenvolvedores. Toda vez que a função get_header for chamada o WordPress irá chamar a função verifica_login.

Dentro da função verifica_login temos seguinte tratamento, verifica se o usuário tá logado com a condicional tag “is_user_logged_in()” se não estiver logado ele redireciona para a tela de login, com a função do wordpress “wp_redirect()” passamos como parâmetro o endereço a qual vamos redirecionar o usuário no caso montamos uma url usando a função get_bloginfo(‘siteurl’) concatenando com “/wp-login.php”.

8 respostas em “Forçando a tela de login para site WordPress”

Olá Ricardo, essa técnica bloqueia todo o acesso. O ideal para bloquear ambientes de teste. Bloquear uma página específica o ideal é usar um plugin de área restrita que dá um controle maior.

Olá Fellyph, obrigado pela sua opinião eu consegui através de uns contactos encontrar uma solução a partir da sua, fazendo o que pretendo.

function verifica_login() {
if ( is_page (xx) ) { } else {
if( ! is_user_logged_in() ) {
wp_redirect( get_bloginfo(‘siteurl’).’/wp-login.php’ );
}
}
}

add_action( ‘get_header’, ‘verifica_login’ );

Eu gostaria de saber como posso deixar que aceda a outra página sem estar bloqueada, ou seja eu tenho na área de login um botão registar que vai para a página registar e quero saber como posso que deixe aceder a essa página sem estar logado.

Bom dia.

Gostaria de compartilhar uma solução baseada na sua. Com esse código o usuário será direcionado para a tela de login, caso não esteja logado, e após o login será redirecionado para a página que tentou acessar:

function verifica_login() {
if (is_page(‘area_interna’)) {
if (!is_user_logged_in()) {
auth_redirect();
}
}
}

add_action( ‘get_header’, ‘verifica_login’ );

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *