cómo obtener una lista de todos los usuarios y sus metadatos

3

¿Cómo obtengo una lista de todos los usuarios con role = 'Clientes', incluidos todos los metadatos por usuario? Significa wp_users + wp_usermeta.

La consulta a continuación no genera los resultados deseados.

    $query = "SELECT * FROM wp_users INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id ORDER BY ID DESC');  ";

    $data = $wpdb->get_results($query,ARRAY_A);

Pero esa lista no es correcta. Muestra que cada usuario x veces depende de la cantidad de filas en wp_usermeta.

¿Cómo puedo filtrarlo? ¿Que cada usuario muestra por registro todos sus usuarios + metadatos?

Sigo buscando durante 6 horas.

    
pregunta Hermants 29.06.2016 - 14:45

2 respuestas

9

Creo que deberías usar las funciones wp-api que harán todo por ti.

  • La función get_users () obtendrá todos los datos de los usuarios solo para definir los campos que necesita.
  • La función get_user_meta () obtendrá datos de usermeta.
 
$users = get_users( array( 'fields' => array( 'ID' ) ) );
foreach($users as $user_id){
        print_r(get_user_meta ( $user_id->ID));
    }
    
respondido por el Syed Fakhar Abbas 30.06.2016 - 05:45
0

Puede utilizar las funciones de la API incorporadas de WordPress, que obtendrán todos los datos del usuario + metadatos del usuario de la base de datos.

    La función
  • get_users () obtendrá todos los datos de los usuarios. Especifique los parámetros que necesita obtener de la base de datos

  • La función

    get_user_meta () obtendrá datos de usermeta.

    $users = get_users( array( 'fields' => array( 'ID' ) ) );
    foreach($users as $user_id) {
        print_r(get_user_meta ( $user_id->ID));
    }
    
respondido por el Arslan Ramay 11.08.2017 - 09:30

Lea otras preguntas en las etiquetas