web-dev-qa-db-ja.com

登録日と役割でWordpressデータベースを検索

今日、私のマルチサイトに登録しているすべてのユーザーの表示名と電子メールアドレスを購読者の役割で取得したいと思います。 WPファイルの外部で使用されるため、SQLクエリである必要があります。

私は次のものが必要だとまとめました。

表:wp_users列:user_registered、user_email、display_name

表:wp_usermetaカラム:wp_6_capabilities = a:1:{s:10: "subscriber"; b:1;}

私は今日購読しているすべてのユーザーのwp_usersからユーザーIDを取得し、ユーザーロールによってそれらの結果を絞り込むためにwp_usermetaに対してチェックする必要があると思います。それから、wp_usersに戻ってEメールと表示名を入手する必要があります。

私はしばらくの間これを行うためにSQLクエリを書き込もうとしていましたが、何も思いつかないようです。

任意の助けは大歓迎です。

ありがとう。

1
lcheney

私はSQLの専門家ではありませんが、次のようになると思います。

SELECT * FROM mydatabase.wp_users 
INNER JOIN mydatabase.wp_usermeta 
ON (wp_users.ID = wp_usermeta.user_id) 
WHERE 1=1 
AND wp_users.user_registered > '2014-03-15 00:00:00' 
AND wp_users.user_registered < '2014-03-16 00:00:00'
AND ( (wp_usermeta.meta_key = 'wp_capabilities' 
AND CAST(wp_usermeta.meta_value AS CHAR) 
LIKE '%\"subscriber\"%') ) 
ORDER BY user_registered ASC ;
1
Richard Aber