Установка собственного пароля для приложения WordPress
В этом руководстве мы расскажем, как установить собственный пароль для приложения WordPress.
Зачем это нужно?
Иногда вам может понадобиться установить заранее известный пароль для приложения, и в WordPress нет стандартного способа обновить пароль приложения напрямую. Но не переживайте, мы создадим для этого свою функцию.
Шаг 1: Создание пароля приложения
Если у вас ещё нет пароля приложения, он будет создан автоматически. Возможно, вы уже создали пароль для вашего приложения, тогда мы можем просто обновить его.
Шаг 2: Копирование пользовательской функции PHP
Теперь мы используем пользовательскую функцию на языке PHP. Скопируйте следующий код и вставьте его, например, в файл functions.php
вашей темы:
/**
- Обновляет пароль приложения WordPress. Устанавливает указанный нами пароль.
- @param int $user_id ID пользователя.
- @param string $app_name Имя приложения, как указано на странице профиля в админке WP.
- @param array $new_data {
- @type string $password Рекомендуемый формат: 'ukfU NAZ7 a5UG SV2s U8I2 ykkr'.
- @type string $app_id ID приложения.
- @type string $name Новое имя приложения.
- }
-
@return array|false
*/
function kama_update_application_password( $user_id, $app_name, $new_data ) {$app_passwords = WP_Application_Passwords::get_user_application_passwords( $user_id );
foreach( $app_passwords as & $data ) {
// Пропускаем, если это не наш пароль приложения if( $app_name !== $data['name'] ) continue; // Установка нового пароля $new_password = $new_data['password']; $new_password = preg_replace( '/[^a-zd]/i', '', $new_password ); $data['password'] = wp_hash_password( $new_password ); // Обновление остальных данных isset( $new_data['app_id'] ) && $data['app_id'] = $new_data['app_id']; isset( $new_data['name'] ) && $data['name'] = $new_data['name'];
}
unset( $data );// Обновление паролей приложения в БД
$done = update_user_meta( $user_id, WP_Application_Passwords::USERMETA_KEY_APPLICATION_PASSWORDS, $app_passwords );if( $done )
return $app_passwords;return false;
}
Шаг 3: Вызов функции с необходимыми параметрами
Теперь вызываем функцию с нужными параметрами: ID пользователя, имя приложения, для которого мы будем обновлять пароль, и сам пароль.
$user_id = 10; // ID пользователя
$app_name = 'Super App'; // Имя приложения
$new_data = [
'password' => 'ukfU NAZ7 a5UG SV2s U8I2 ykkr', // Новый пароль
];
$res = kama_update_application_password( $user_id, $app_name, $new_data );
print_r( $res );
Что будет возвращено?
После выполнения вышеуказанного кода вы получите массив с обновленными данными приложения, например:
Array
(
[0] => Array
(
[uuid] => e79943d7-0254-437c-b07a-70001bda4d32
[app_id] => Super App
[name] => Super App
[password] => $P$BmG31CkQLJRmOPAiFXD0DCA9tTtmPY0
[created] => 1608731275
[last_used] => 1624346370
[last_ip] => 208.88.226.229
)
)
Где получить имя приложения?
Имя приложения можно найти в админ-панели. Для этого перейдите в профиль пользователя, для которого нужно обновить пароль приложения.
Таким образом, вы можете легко установить собственный пароль для приложения в WordPress, используя простую функцию на PHP. Теперь у вас есть контроль над паролями ваших приложений!