get_usermeta

The timeline below displays how wordpress function get_usermeta has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use get_user_meta()
 * @see get_user_meta()
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key. Default empty.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object.
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) === 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}

WordPress Version: 6.3

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use get_user_meta()
 * @see get_user_meta()
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key. Default empty.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object.
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) === 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}

WordPress Version: 5.5

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use get_user_meta()
 * @see get_user_meta()
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key. Default empty.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object.
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) == 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}

WordPress Version: 5.4

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use get_user_meta()
 * @see get_user_meta()
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object.
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) == 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}

WordPress Version: 4.6

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use get_user_meta()
 * @see get_user_meta()
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) == 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}

WordPress Version: 4.4

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use get_user_meta()
 * @see get_user_meta()
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) == 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}

WordPress Version: 3.7

/**
 * Retrieve user metadata.
 *
 * If $user_id is not a number, then the function will fail over with a 'false'
 * boolean return value. Other returned values depend on whether there is only
 * one item to be returned, which be that single item type. If there is more
 * than one metadata value, then it will be list of metadata values.
 *
 * @since 2.0.0
 * @deprecated 3.0.0
 * @deprecated Use get_user_meta()
 * @see get_user_meta()
 *
 * @param int $user_id User ID
 * @param string $meta_key Optional. Metadata key.
 * @return mixed
 */
function get_usermeta($user_id, $meta_key = '')
{
    _deprecated_function(__FUNCTION__, '3.0', 'get_user_meta()');
    global $wpdb;
    $user_id = (int) $user_id;
    if (!$user_id) {
        return false;
    }
    if (!empty($meta_key)) {
        $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
        $user = wp_cache_get($user_id, 'users');
        // Check the cached user object
        if (false !== $user && isset($user->{$meta_key})) {
            $metas = array($user->{$meta_key});
        } else {
            $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
        }
    } else {
        $metas = $wpdb->get_col($wpdb->prepare("SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = %d", $user_id));
    }
    if (empty($metas)) {
        if (empty($meta_key)) {
            return array();
        } else {
            return '';
        }
    }
    $metas = array_map('maybe_unserialize', $metas);
    if (count($metas) == 1) {
        return $metas[0];
    } else {
        return $metas;
    }
}