A postagem de hoje será curta, na qual mostrarei como instalar um pequeno recurso no seu site WordPress. Isso, se usado com segurança, pode ser muito conveniente. Ele foi projetado para ser usado em sites WordPress que oferecem uma conta genérica para os usuários fazerem login. Por exemplo, em muitas demos de back-end do WordPress, o autor criará uma conta ‘demo’ para que os clientes em potencial façam login e brinquem com seu produto. Mais frequentemente, o autor simplesmente exibirá um aviso dizendo;


NOME DO USUÁRIO: demonstração
SENHA: demonstração

Isso é um pouco pedestre. Certamente podemos fazer a demonstração parecer um pouco mais simplificada e profissional? Darei a você um snippet rápido para fazer login automaticamente no administrador do WordPress com essas credenciais. Isso pode ser inserido no arquivo de funções do seu tema ou em seu próprio arquivo de plug-in e ativado.

Isso pode ser útil se;

  • Seu site possui uma conta genérica para usuários anônimos fazer login.
  • Você deseja um link de login com “um clique”.
  • Você deseja maximizar a conversão da demonstração do produto, fornecendo um caminho rápido e eficiente para a demonstração, minimizando as etapas necessárias.
  • Você deseja direcionar os visitantes diretamente para o local relevante (por exemplo, página Configurações).

IMPORTANTE: Nunca use isso para fazer login em contas com poder real; por exemplo. Contas de administrador / editor, etc..
Use este trecho com cuidado.

Ok, como fiz nos meus outros tutoriais, darei a você o código completo anotado primeiro, para que aqueles que não são fãs de leitura possam começar a experimentar com ele. O seguinte snippet foi estilizado na forma de um plug-in independente (minha preferência pessoal).

Harri Bell-Thomas no Github

/ *
Nome do plug-in: Login automático
URI do plug-in: http://hbt.io/
Versão: 1.0.0
Autor: Harri Bell-Thomas
Autor URI: http://hbt.io/
* /

função autologin () {
// PARÂMETRO A VERIFICAR
if ($ _GET ['autologin'] == 'demo') {

// CONTA NOME DE USUÁRIO PARA FAZER LOGIN
$ creds ['user_login'] = 'demo';

// SENHA DE CONTA A USAR
$ creds ['user_password'] = 'demo';

$ creds ['lembra'] = verdadeiro;
$ autologin_user = wp_signon ($ creds, false);

if (! is_wp_error ($ autologin_user))
cabeçalho ('Localização: wp-admin'); // LOCAL PARA REDIRECIONAR PARA
}
}
// ADICIONAR CÓDIGO APENAS ANTES DO ENVIO DE CABEÇAS E COOKIES
add_action ('after_setup_theme', 'autologin');

USO

Isto é muito simples de usar. O nome de usuário e a senha da conta estão especificados no arquivo do plug-in (código acima) e, para fazer o login, basta visitar; http://example.com/wp-login.php?autologin=demo

Você deve ser redirecionado imediatamente para o wp-admin, conectado à conta especificada. Se as credenciais estiverem erradas, você deverá ver o formulário de login normalmente..

CUSTOMIZAR

Esse snippet é muito fácil de personalizar. Existem basicamente apenas três coisas que você precisará editar e todas essas alterações são feitas no seguinte bloco de código (linhas 11 a 17 do código completo)

if ($ _GET ['login'] == 'dummy_account') {

// CONTA NOME DE USUÁRIO PARA FAZER LOGIN
$ creds ['user_login'] = 'manequim';

// SENHA DE CONTA A USAR
$ creds ['user_password'] = 'pa55word';

Na primeira linha, você verá a verificação condicional do parâmetro URL. O bloco de código acima estará procurando; wp-login.php? login = dummy_account

Esses valores podem ser o que você quiser, mas tome cuidado para evitar parâmetros originais do WordPress, como ‘logout’, ‘action’ e ‘redirect_to’. A linha 4 é onde você especifica o nome de usuário para fazer login; o snippet de código personalizado tentará fazer login na conta “fictícia”. Como você provavelmente pode adivinhar, a linha 7 é onde você especifica a senha. A senha acima é ‘pa55word’. Preencha esses valores e você deve estar pronto!

EXTENSÕES

No momento, nosso snippet está configurado apenas para login automático em uma conta. E se quisermos links de login diferentes para contas diferentes? Isso é rápido e fácil de fazer e não exige que você repita o snippet inteiro repetidamente. Dê uma olhada abaixo na minha solução.

/ *
Nome do plug-in: Login automático
URI do plug-in: http://hbt.io/
Descrição: crie links convenientes de login automático para fazer login rapidamente em contas genéricas. Configure o código fonte para fazer alterações.
Versão: 1.0.0
Autor: Harri Bell-Thomas
Autor URI: http://hbt.io/
* /

// Declarar var's globais
global $ login_parameter, $ contas;

// O PARÂMETRO A VERIFICAR
// por exemplo. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "registro automático";

// BLOCO DE CÓDIGO DA CONTA
$ accounts [] = matriz (
"usuário" => "demonstração",
"pass" => "demo",
"location" => "wp-admin",
);
// FIM DO BLOCO DE CÓDIGO DA CONTA

// EDITAR E REPETIR O BLOCO DE CÓDIGOS PARA QUANTAS CONTAS NECESSÁRIAS

// Outro exemplo de iteração
$ accounts [] = matriz (
"usuário" => "tcwp",
"pass" => "demo",
"local" => "wp-admin /? tcwp-enviou-me",
);


// VEJA EXEMPLO ANTERIOR PARA DETALHES SOBRE ESTA FUNÇÃO
função autologin () {
global $ login_parameter, $ contas;
foreach ($ contas como $ conta) {
if ($ _GET [$ login_parameter] == $ conta ['usuário']) {
$ creds ['user_login'] = $ conta ['usuário'];
$ creds ['user_password'] = $ conta ['pass'];
$ creds ['lembra'] = verdadeiro;
$ autologin_user = wp_signon ($ creds, false);
if (! is_wp_error ($ autologin_user))
cabeçalho ('Localização:'. $ conta ['localização']);
}
}
}
add_action ('after_setup_theme', 'autologin');

No fundo, isso é essencialmente o mesmo, mas com um loop foreach atrevido e uma matriz de contas também. A anatomia da função autologin () é idêntica, exceto pelo fato de seu código ser repetido (usando o loop foreach) para cada conta. Todos os detalhes relevantes agora são armazenados na matriz global. O exemplo acima está configurado para duas contas, mas nosso snippet pode acomodar quantas forem necessárias. Para adicionar contas adicionais, basta personalizar e adicionar quantos blocos de código a seguir forem necessários.

// BLOCO DE CÓDIGO DA CONTA
$ accounts [] = matriz (
"usuário" => "outra conta",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// FIM DO BLOCO DE CÓDIGO DA CONTA

Você também notará que também mudei o nome do parâmetro para uma variável global: isso não é necessário, mas fiz isso simplesmente para remover todos os valores codificados da função autologin ().

CONCLUSÃO

Esse snippet é apenas uma função simples projetada para uso leve, como em um site de demonstração de produto, mas tem potencial para ser usado em cenários de login muito mais complexos. O restante do código deve ser bastante auto-explicativo, mas se você tiver alguma dúvida sobre o que eu fiz ou por que eu fiz isso, deixe um comentário abaixo ou envie um tweet para mim. Se você tiver algum comentário / sugestão / idéia, deixe um comentário na seção de comentários abaixo!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me