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

wp_set_password() WP 2.5.0

Изменяет пароль указанного пользователя. Обновляет указанный пароль в БД и сбрасывает кэш пользователя.

Заметка: функцию нужно использовать осторожно, её нужно вызывать единожды, например, только при активации или деактивации плагина. Обратите внимание на то, чтобы функция не вызывалась при каждой загрузке страницы!

Это функция типа pluggable — её можно заменить из плагина. Это значит, что она будет работать только после подключения всех плагинов, до этого момента функция еще не определена... Поэтому нельзя вызывать эту и зависящие от нее функции прямо из кода плагина. Их нужно вызывать через хук plugins_loaded или позднее, например хук init.

Замена (переопределение) — в плагине можно создать функцию с таким же названием, тогда она заменит текущую фукнцию.

Работает на основе: wp_hash_password()

Хуков нет.

Возвращает

Ничего. null

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

wp_set_password( $password, $user_id );
$password(строка) (обязательный)
Новый пароль, который нужно установить. Указывается текстом.
$user_id(число) (обязательный)
ID пользователя для которого нужно установить указанный пароль.

Примеры

#1 Пример смены (сброса) пароля через PHP

Вставьте следующий код в файл темы functions.php, а затем зайдите на любую страницу сайта и допишите в URL ?set_pass_for=mylogin, чтобы активировать функцию. В результате пароль пользователя mylogin будет изменен на resetpass. После этого код можно удалить.

if( isset($_GET['set_pass_for']) ){
	add_action('init', function () {
		$user = get_user_by( 'login', $_GET['set_pass_for'] );
		wp_set_password( 'resetpass', $user->ID ); }
	);
}

Код wp set password: wp-includes/pluggable.php VER 4.9.2

<?php
function wp_set_password( $password, $user_id ) {
	global $wpdb;

	$hash = wp_hash_password( $password );
	$wpdb->update($wpdb->users, array('user_pass' => $hash, 'user_activation_key' => ''), array('ID' => $user_id) );

	wp_cache_delete($user_id, 'users');
}

Cвязанные функции

Из метки: password (пароли)

Еще из раздела: Вход/выход

wp_set_password Комментариев нет

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

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