WordPress.org

Make WordPress Core

Opened 23 months ago

Last modified 5 months ago

#20845 new defect (bug)

wp_set_current_user( null, "name") does not work when $current_user is already 0 — at Initial Version

Reported by: bobbingwide Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 3.3.2
Component: Users Keywords: has-patch
Focuses: Cc:

Description

According to the documentation for wp_set_current_user() you can

Set $id to null and specify a name if you do not know a user's ID.

This does not work when the current user has already been set to anonymous ( ID = 0 ) since the following test returns true.

if ( isset( $current_user ) && ( $current_user instanceof WP_User ) && ( $id == $current_user->ID ) ) {

The last part of the test should be corrected to
&& ($id === $current_user->ID) )

which will ensure that the test fails when the $id parameter is null, which will allow the rest of the pluggable function to continue and set the current user to the specified $name.

This is similar to 19769.
Note: the change in 3.4 has not fixed this particular problem.

Change History (0)

Note: See TracTickets for help on using tickets.