Estou criando usuários programaticamente manualmente e quero entrar no usuário recém-criado. O WP facilita o acesso à senha com hash, mas não à versão em texto sem formatação. Existe uma maneira de usar wp_signon () sem a senha de texto sem formatação?
Encontrei uma pessoa que afirma ter feito isso aqui , mas não funcionou para mim.
OBRIGADO!
login
authentication
emersonthis
fonte
fonte
Respostas:
wp_set_auth_cookie()
fará o login de um usuário sem precisar saber sua senha.fonte
is_user_logged_in()
parece não funcionar. Você sabe se está olhando algo diferente dos cookies?wp_set_current_user
antes de registrá-las no.wp_set_auth_cookie()
minha função de logon. Acho que preciso repensar isso. Também procurarei wp_set_current_user e reportarei de volta. Muito obrigado por sua ajuda nisso!O código a seguir faz o trabalho para login automático, sem nenhuma senha!
fonte
get_user_by()
retornos falsos em caso de falha, então você deve verificar para falso em vez do objeto WP_ErrorEu encontrei outra solução aqui que usa uma abordagem melhor (pelo menos na minha opinião ...). Não há necessidade de definir nenhum cookie, ele usa a API do Wordpress:
Eu acho que o código é auto-explicativo:
O filtro procura pelo objeto WP_User o nome de usuário especificado e o retorna. Uma chamada para a função
wp_set_current_user
com o objeto WP_User retornado porwp_signon
, uma verificação com a funçãois_user_logged_in
para garantir que você esteja logado, e é isso!Um bom e limpo pedaço de código na minha opinião!
fonte
$credentials
está vazia ou não. Se a matriz não estiver vazia (como é o caso na minha resposta), os valores da matriz serão usados para autenticar o usuário.Isto funciona bem para mim:
fonte
Além de Mike, Paul e Sjoerd:
Para lidar melhor com os
login.php
redirecionamentos:Para ser colocado
wp-config.php
logo apósPara sua informação
Com base na solução acima, liberei um plug-in para manter o usuário conectado de um wordpress para outro, sincronizando os dados do usuário e a sessão de cookies:
https://wordpress.org/plugins/user-session-synchronizer/
fonte