按注册日期和角色查询WordPress数据库

时间:2014-01-15 作者:lcheney

我想获得今天以订阅者角色注册到我的多站点的所有用户的显示名称和电子邮件地址。它需要是一个SQL查询,因为它在WP文件之外使用。

我收集了以下信息:

表:wp\\u users列:user\\u registered,user\\u email,display\\u name

表:wp\\u usermetaColumns:wp\\u 6\\u capabilities=a:1:{s:10:“订阅者”;b:1;}

我猜我需要从今天订阅的所有用户的wp\\u用户那里获取用户ID,然后对照wp\\u usermeta检查,以缩小用户角色的范围。然后我需要返回到wp\\u用户并获取电子邮件和显示名称。

一段时间以来,我一直试图编写一个SQL查询来实现这一点,但似乎什么都想不出来。

非常感谢您的帮助。

谢谢

1 个回复
SO网友:Richard Aber

我不是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 ;

结束

相关推荐

在主页上混合使用常规和自定义帖子类型(带有meta_Query)

不知道如何实现这一点。我试图在网站主页上混合标准帖子和自定义帖子,但我只想在设置了元值的情况下显示自定义帖子。显示帖子效果良好\'post_type\' => array(\'game\', \'post\') 但是,当我添加meta\\u查询时,常规帖子不再显示(这很有意义,因为它们不符合meta\\u查询条件)。那么,如何将meta\\u查询限制为仅自定义帖子类型,以便仍然包含常规帖子?