如何使用SQL获取属于WordPress多站点博客(站点)的用户?

时间:2014-12-16 00:20:22

标签: sql wordpress multisite

我需要让所有在WordPress多站点中加入(成员)站点(博客)的用户。 为了使它复杂化,我在WordPress之外执行此操作并且无法访问内部Wordpress函数,因此需要直接构造SQL。

在英语中,SQL会分解为“获取作为站点x成员的用户的用户ID数组”(其中站点与其中一个WordPress多站点站点相关)。

我尝试过使用WordPress代码来理解,但是正在努力解决上述问题。

我不需要PHP,我可以解决这个问题,只是一个示例SQL语句。

非常感谢!

2 个答案:

答案 0 :(得分:2)

  1. select * from wp_blogs
  2. 从命令记录的输出向下按下您希望用户的blog_id。例如:假设您想要使用blog_id = 2的网站用户,接下来运行以下查询。

    1. select * from wp_users u join wp_usermeta um on u.id=um.user_id where um.meta_key="wp_2_capabilities"

答案 1 :(得分:0)

感谢您的代码,正是我需要的!

如果它对其他人有帮助,我还会延长一点,以获得有多少人拥有某个角色,例如:下面使用了自定义角色teacher

select * from wp_users u join wp_usermeta um on u.id=um.user_id where um.meta_key="wp_2_capabilities" AND um.meta_value LIKE '%teacher%'

这当然要求其他角色不要包含“老师”这个词(例如,它也可能会有一个角色ex-teacher)。对我来说就是这样,所以我跑了两个查询并减去了两个数字。

如果有人知道怎么用一个很好的查询呢?