Intereting Posts
php не работает на пользовательской странице Пользовательский архив таксономии возвращает 404 Каковы преимущества и недостатки дерева вариантов над API настройки? Создайте шаблон макета default_content на основе идентификатора сообщения выделить «избранные» комментарии администратора поместите обычную таксономию в слизь перед их соответствующим словом Проверка WordPress Frontend, если текущий пользователь является администратором Пользовательская форма перенаправления после входа в систему Наличие переменной, основанной на $ post_count, увеличивается, когда я перехожу на следующую страницу результатов Размещение метабаксов Admin Post в закладках Показаны сообщения из 2 категорий только по категории.php Как устранить проблемы с IP-адресом после миграции сервера Пользовательский список таксономии: как сделать «выбрать из большинства используемых» по умолчанию для открытия, контрольный список wp_validate_logged_in_cookie Как создать пользовательский метабокс с полями ввода имени пользователя / значения?

Крюк для сбоев и успешных действий входа в систему

Мне нужно зарегистрировать неудачные и успешные действия входа .

Какой крючок лучше использовать для этого?

Есть несколько разных крючков, которые вы можете использовать (из wp_signon ):

  • wp_authenticate (действие)
  • authenticate (фильтровать)
  • wp_login (действие)

Но вы можете лучше всего отменить подключаемый wp_authenticate (из wp-includes/pluggable.php ):

 if ( !function_exists('wp_authenticate') ) : /** * Checks a user's login information and logs them in if it checks out. * * @since 2.5.0 * * @param string $username User's username * @param string $password User's password * @return WP_Error|WP_User WP_User object if login successful, otherwise WP_Error object. */ function wp_authenticate($username, $password) { $username = sanitize_user($username); $password = trim($password); $user = apply_filters('authenticate', null, $username, $password); if ( $user == null ) { // TODO what should the error message be? (Or would these even happen?) // Only needed if all authentication handlers fail to return anything. $user = new WP_Error('authentication_failed', __('<strong>ERROR</strong>: Invalid username or incorrect password.')); } $ignore_codes = array('empty_username', 'empty_password'); if (is_wp_error($user) && !in_array($user->get_error_code(), $ignore_codes) ) { do_action('wp_login_failed', $username); } return $user; } endif; 

Все, что вам нужно сделать, это определить свой собственный wp_authenticate имитирующий действия и добавив несколько строк для ведения журнала. Это предполагает, что у вас еще нет функции, которая ее переопределяет.

И, как вы можете видеть прямо в приведенном выше коде, вы можете использовать:

  • wp_login_failed (действие)