Есть ли ловушка, которая запускается после входа пользователя в систему?

28

Я пишу плагин, который извлекает некоторую расширенную информацию о пользователях из удаленного сервиса, и мне нужно, чтобы он выполнял свою функцию каждый раз, когда пользователь входит в систему.

Есть ли ловушка, которая срабатывает после входа в систему, к которой я могу добавить действие?

Адам Франко
источник

Ответы:

33

Хук действия wp_login запускается, когда пользователь входит в систему - он может запустить простую функцию.

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

документация: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_login

Настоящим кормильцем здесь является wp_authenticateнемного документации. Он передает массив с заданным именем пользователя и паролем, что дает вам возможность при необходимости передавать информацию в удаленный сервис. https://codex.wordpress.org/Plugin_API/Action_Reference/wp_authenticate

и для изменения URL перенаправления после входа в систему существует фильтр login_redirect: https://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect

Дрю Гурли
источник
10

Я бы предостерег от использования wp_login. Это устарело, и в более поздних версиях WordPress он может вообще не работать. Вместо этого попробуйте wp_signonфункцию.

Изменить : wp_loginфункция устарела, но wp_loginдействие все еще в порядке.

adam2k
источник
1
да действие wp_login все еще работает.
Shwet