WordPress как на ладони
wordpress jino

wp_login хук-событие . WP 1.5.0

Срабатывает после того, как пользователь успешно авторизован (залогинен, вошел на сайт).

Использование

add_action( 'wp_login', 'action_function_name_9084', 10, 2 );
function action_function_name_9084( $user_login, $user ){
	// action...
}
$user_login(cтрока)
Имя пользователя (логин).
$user(WP_User)
Объект авторизованного пользователя.

Примеры

#1 Записываем время при заходе в профиль

## записываем время при заходе в профиль
add_action( 'wp_login', 'write_time_when_user_logged_in', 10, 2 );
function write_time_when_user_logged_in( $user_login, $user ){
	// запишем в метаполя
	update_user_meta( $user->ID, 'last_login_time', time() );

	// или запишем метку времени в неиспользуемую колонку таблицы wp_users
	// global $wpdb;
	// $wpdb->query("UPDATE $wpdb->users SET user_status = ". time() ." WHERE ID = $user->ID LIMIT 1");
}

Где используется хук

wp_signon() остальные хуки:

Код хука-события wp_login

Фрагмент из: wp-includes/user.php VER 4.9.4
...
			$user = new WP_Error('', '');
		}

		return $user;
	}

	wp_set_auth_cookie($user->ID, $credentials['remember'], $secure_cookie);
	/**
	 * Fires after the user has successfully logged in.
	 *
	 * @since 1.5.0
	 *
	 * @param string  $user_login Username.
	 * @param WP_User $user       WP_User object of the logged-in user.
	 */
	do_action( 'wp_login', $user->user_login, $user );
	return $user;
}

/**
 * Authenticate a user, confirming the username and password are valid.
 *
 * @since 2.8.0
 *
 * @param WP_User|WP_Error|null $user     WP_User or WP_Error object from a previous callback. Default null.
 * @param string                $username Username for authentication.
 * @param string                $password Password for authentication.
 * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
 */
function wp_authenticate_username_password($user, $username, $password) {
	if ( $user instanceof WP_User ) {
...

    Здравствуйте, !

    Ваш комментарий
    Предпросмотр