[wp-trac] [WordPress Trac] #54984: wp_update_user doesn't work properly with current user instance
WordPress Trac
noreply at wordpress.org
Sat Jan 29 11:03:50 UTC 2022
#54984: wp_update_user doesn't work properly with current user instance
--------------------------+------------------------------
Reporter: oztaser | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Users | Version:
Severity: normal | Resolution:
Keywords: | Focuses:
--------------------------+------------------------------
Description changed by costdev:
Old description:
> After #28020 merged in 5.8, there are two errors that I noticed in
> `wp_update_user`.
>
> 1. Storing plain password:
> If user object to be updated is getting by `get_userdata` (with current
> user id) or `wp_get_current_user`, `wp_update_user` doesn't hash the new
> password.
>
> Also doesn't send password change email.
>
> 2. Doesn't send Email change email.
>
> Here is my mu-plugin to produce the errors:
>
> {{{#!php
> <?php
> namespace NefisYemekTarifleri\Test_User_Password_Hash;
>
> add_action( 'init', __NAMESPACE__ . '\\init' );
> function init() {
> global $wpdb;
>
> // $user = get_userdata( 1 );
> $user = wp_get_current_user();
> $user->user_pass = '123456';
> $user->user_email = 'adil at oztaser.com';
>
> wp_update_user( $user );
> }
> }}}
>
> I think it's not the best way to change password using `wp_update_user`,
> but if `wp_update_user` supports it, password should be hashed.
>
> P.S: I couldn't find any related ticket about this problem, sorry if
> there is.
New description:
After #28020 merged in 5.8, there are two errors that I noticed in
`wp_update_user`.
1. Storing plain password:
If user object to be updated is getting by `get_userdata` (with current
user id) or `wp_get_current_user`, `wp_update_user` doesn't hash the new
password.
Also doesn't send password change email.
2. Doesn't send Email change email.
Here is my mu-plugin to produce the errors:
{{{#!php
<?php
namespace NefisYemekTarifleri\Test_User_Password_Hash;
add_action( 'init', __NAMESPACE__ . '\\init' );
function init() {
global $wpdb;
// $user = get_userdata( 1 );
$user = wp_get_current_user();
$user->user_pass = '123456';
wp_update_user( $user );
}
}}}
I think it's not the best way to change password using `wp_update_user`,
but if `wp_update_user` supports it, password should be hashed.
P.S: I couldn't find any related ticket about this problem, sorry if there
is.
--
--
Ticket URL: <https://core.trac.wordpress.org/ticket/54984#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list