como obter lista de todos os usuários e seus metadados

3

Como obtenho uma lista de todos os usuários com role = 'Customers', incluindo todos os metadados por usuário, significa wp_users + wp_usermeta.

A consulta abaixo não gera os resultados desejados.

    $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);

Mas essa lista não está correta. Ele mostra que cada usuário x vezes depende da quantidade de linhas em wp_usermeta.

Como posso filtrar? Que cada usuário mostra por registro todo seu usuário + metadados?

Ainda procurando por 6 horas.

    
por Hermants 29.06.2016 / 14:45

2 respostas

9

Acho que você deveria usar as funções wp-api, que farão tudo por você.

  • A função get_users () obterá todos os dados dos usuários, basta definir os campos que você precisa.
  • A função get_user_meta () obterá dados usermeta.
 
$users = get_users( array( 'fields' => array( 'ID' ) ) );
foreach($users as $user_id){
        print_r(get_user_meta ( $user_id->ID));
    }
    
por Syed Fakhar Abbas 30.06.2016 / 05:45
0

Você pode usar as funções integradas da API do WordPress , que obterão todos os dados do usuário + metadados do usuário do banco de dados.

    A função
  • get_users () obterá todos os dados dos usuários. Especifique os parâmetros que você precisa obter do banco de dados

  • A função

    get_user_meta () obterá dados usermeta.

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