web-dev-qa-db-ja.com

すべてのユーザーとそのメタデータのリストを取得する方法

ユーザーごとのすべてのメタデータを含む、role = 'Customers'のすべてのユーザーのリストを取得する方法は、wp_users + wp_usermetaです。

以下のクエリは、望ましい結果を生成しません。

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

しかし、そのリストは正しくありません。これは、各ユーザーがwp_usermetaの行数に応じてx倍依存していることを示しています。

どのように私はそれをフィルタリングすることができますか?各ユーザーがレコードごとに自分のすべてのユーザー+メタデータを表示するということですか。

まだ6時間探しています。

4
Hermants

私はあなたがあなたのためにすべてをするだろうwp-api関数を使うべきだと思います。

  • get_users() 関数はすべてのユーザーのデータを取得するだけで、必要なフィールドを定義します。
  • get_user_meta( )関数はユーザーメタデータを取得します。
 
$users = get_users( array( 'fields' => array( 'ID' ) ) );
foreach($users as $user_id){
        print_r(get_user_meta ( $user_id->ID));
    }
11