wp_set_password() WP 2.5.0

Змінює пароль користувача. Оновлює вказаний пароль у БД і скидає кеш користувача.

Це init .

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

Працює на основі:
wp_hash_password()

Хуків немає.

Повертає

null. Нічого. null

Використання

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

Приклади

0

#1 Змінимо пароль користувача програмно

Мається на увазі, що цей код викликається з функції, яка повинна змінити пароль.

$new_pass = trim(wp_unslash( $_POST['new_pass'] ) );
$user_id = 1;

wp_set_password ($ new_pass, $ user_id);
0

#2 Приклад зміни (скидання) пароля через PHP

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

if( isset( $_GET['init_new_pass_set'] ) ){

	add_action( 'init', function (){
		$user = get_user_by( 'login', $_GET['init_new_pass_set'] );

		wp_set_password( 'resetpass', $user->ID ); }
	);
}

нотатки

  • Global. wpdb. $wpdb WordPress database abstraction object.

список змін

З версії 2.5.0Введено.

Код wp_set_password() WP 6.0.2

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 )
	);

	clean_user_cache($user_id);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *