Установка собственного пароля для приложения WordPress: руководство

Установка собственного пароля для приложения 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. Теперь у вас есть контроль над паролями ваших приложений!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *