web-dev-qa-db-fra.com

Interroger la base de données Wordpress par date et rôle enregistrés

Je souhaite obtenir le nom complet et l'adresse électronique de tous les utilisateurs qui se sont inscrits sur mon site multisite aujourd'hui avec le rôle d'abonné. Il doit s'agir d'une requête SQL car elle est utilisée en dehors des fichiers WP.

J'ai rassemblé j'ai besoin de ce qui suit:

Table: wp_users Colonnes: user_registered, user_email, display_name

Table: wp_usermeta Colonnes: wp_6_capabilities = a: 1: {s: 10: "abonné"; b: 1;}

Je suppose que je dois obtenir l'ID utilisateur auprès de wp_users de tous les utilisateurs abonnés aujourd'hui, puis vérifier auprès de wp_usermeta pour affiner les résultats en fonction du rôle de l'utilisateur. Ensuite, je dois revenir à wp_users et obtenir le courrier électronique et le nom complet.

Cela fait un moment que j'essaie d'écrire une requête SQL et je n'arrive pas à trouver quoi que ce soit.

Toute aide est appréciée.

Merci.

1
lcheney

Je ne suis pas un expert en SQL, mais je pense que cela ressemblerait à ceci:

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