wp_get_current_user
Retrieve the current user object.
Description
(WP_User) wp_get_current_user();
Will set the current user, if the current user is not set. The current user will be set to the logged-in person. If no user is logged-in, then it will set the current user to 0, which is invalid and won't have any permissions.
Returns (WP_User)
Current WP_User instance.
Usage
if ( !function_exists( 'wp_get_current_user' ) ) { require_once ABSPATH . WPINC . '/pluggable.php'; } // NOTICE! Understand what this does before running. $result = wp_get_current_user();
Defined (2)
The function is defined in the following location(s).
- /wp-includes/pluggable.php
- function wp_get_current_user() {
- return _wp_get_current_user();
- }
- /wp-includes/user.php
- function _wp_get_current_user() {
- global $current_user;
- if ( ! empty( $current_user ) ) {
- if ( $current_user instanceof WP_User ) {
- return $current_user;
- }
- // Upgrade stdClass to WP_User
- if ( is_object( $current_user ) && isset( $current_user->ID ) ) {
- $cur_id = $current_user->ID;
- $current_user = null;
- wp_set_current_user( $cur_id );
- return $current_user;
- }
- // $current_user has a junk value. Force to WP_User with ID 0.
- $current_user = null;
- wp_set_current_user( 0 );
- return $current_user;
- }
- if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST ) {
- wp_set_current_user( 0 );
- return $current_user;
- }
- /**
- * Filters the current user.
- *
- * The default filters use this to determine the current user from the
- * request's cookies, if available.
- *
- * Returning a value of false will effectively short-circuit setting
- * the current user.
- *
- * @since 3.9.0
- *
- * @param int|bool $user_id User ID if one has been determined, false otherwise.
- */
- $user_id = apply_filters( 'determine_current_user', false );
- if ( ! $user_id ) {
- wp_set_current_user( 0 );
- return $current_user;
- }
- wp_set_current_user( $user_id );
- return $current_user;
- }