WP_Application_Passwords::update_application_password( int $user_id, string $uuid, array $update = array() )
Updates an application password.
Parameters
- $user_id
-
(Required) User ID.
- $uuid
-
(Required) The password's UUID.
- $update
-
(Optional) Information about the application password to update.
Default value: array()
Return
(true|WP_Error) True if successful, otherwise a WP_Error instance is returned on error.
Source
File: wp-includes/class-wp-application-passwords.php
public static function update_application_password( $user_id, $uuid, $update = array() ) {
$passwords = static::get_user_application_passwords( $user_id );
foreach ( $passwords as &$item ) {
if ( $item['uuid'] !== $uuid ) {
continue;
}
if ( ! empty( $update['name'] ) ) {
$update['name'] = sanitize_text_field( $update['name'] );
}
$save = false;
if ( ! empty( $update['name'] ) && $item['name'] !== $update['name'] ) {
$item['name'] = $update['name'];
$save = true;
}
if ( ! empty( $update['password'] ) && $item['password'] !== $update['password'] ) {
$item['password'] = $update['password'];
$save = true;
}
if ( $save ) {
$saved = static::set_user_application_passwords( $user_id, $passwords );
if ( ! $saved ) {
return new WP_Error( 'db_error', __( 'Could not save application password.' ) );
}
}
/**
* Fires when an application password is updated.
*
* @since 5.6.0
* @since CP-2.3.0 The password is now hashed using bcrypt instead of phpass.
* Existing passwords may still be hashed using phpass.
*
* @param int $user_id The user ID.
* @param array $item The updated app password details.
* @param array $update The information to update.
*/
do_action( 'wp_update_application_password', $user_id, $item, $update );
return true;
}
return new WP_Error( 'application_password_not_found', __( 'Could not find an application password with that id.' ) );
}
Changelog
Version | Description |
---|---|
5.6.0 | |
CP-2.3.0 The actual password should now be hashed using bcrypt instead of phpass. See wp_hash_password(). | Introduced. CP-2.3.0 The actual password should now be hashed using bcrypt instead of phpass. See wp_hash_password(). |