Existe-t-il un hook qui s'exécute après la connexion d'un utilisateur?

28

J'écris un plugin qui récupère des informations utilisateur étendues à partir d'un service distant et j'en ai besoin pour exécuter sa fonction chaque fois qu'un utilisateur se connecte.

Existe-t-il un crochet qui se déclenche après la connexion auquel je peux ajouter une action?

Adam Franco
la source

Réponses:

33

Le hook d'action wp_login s'exécute lorsque l'utilisateur se connecte - il peut exécuter une fonction simple.

function do_anything() {
    //do stuff
}
add_action('wp_login', 'do_anything');

documentation: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_login

Le vrai soutien de famille ici est celui wp_authenticatequi a un peu de documentation. Il transmet un tableau avec le nom d'utilisateur et le mot de passe donnés, ce qui vous donne la possibilité de transmettre des informations au service distant, si nécessaire. https://codex.wordpress.org/Plugin_API/Action_Reference/wp_authenticate

et pour changer l'URL de redirection après la connexion, il y a le filtre login_redirect: https://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect

Drew Gourley
la source
10

Je déconseille l'utilisation wp_login. Il est obsolète et dans les versions ultérieures de WordPress, il peut ne pas fonctionner du tout. Essayez plutôt la wp_signonfonction.

Edit : La wp_loginfonction est obsolète mais l' wp_loginaction est toujours bien à utiliser.

adam2k
la source
1
oui l'action wp_login fonctionne toujours.
Shwet