How To Get User Meta In WordPress

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;
}

Leave a Comment