mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 22:30:04 +00:00
Users: Share current user instance across functions.
Share the `WP_User` instance for the current user between the functions `get_userdata()` and `wp_get_current_user()`. Both functions return the `$current_user` global for the current user. Force refresh the `$current_user` global within `clean_user_cache()` by immediately re-calling `wp_set_current_user()` with the current user's ID. This ensures any changes to the current user's permissions or other settings are reflected in the global. As a side-effect this immediately rewarms the current user's cache. Props chaion07, chriscct7, donmhico, hellofromtonya, lukecarbis, peterwilsoncc, rmccue, TimothyBlynJacobs. Fixes #28020. git-svn-id: https://develop.svn.wordpress.org/trunk@50790 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -324,4 +324,19 @@ class Tests_Pluggable extends WP_UnitTestCase {
|
||||
return $signatures;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 28020
|
||||
*/
|
||||
public function test_get_user_by_should_return_same_instance_as_wp_get_current_user() {
|
||||
// Create a test user
|
||||
$new_user = self::factory()->user->create( array( 'role' => 'subscriber' ) );
|
||||
|
||||
// Set the test user as the current user
|
||||
$current_user = wp_set_current_user( $new_user );
|
||||
|
||||
// Get the test user using get_user_by()
|
||||
$from_get_user_by = get_user_by( 'id', $new_user );
|
||||
|
||||
$this->assertSame( $current_user, $from_get_user_by );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user