4

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

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

我试过通过 WordPress 代码来理解,但在上面遇到了困难。

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

非常感谢!

4

2 回答 2

4
  1. select * from wp_blogs

从命令的输出中记下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"
于 2014-12-16T10:16:10.390 回答
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也会出现)。对我来说就是这种情况,所以我运行了两个查询并减去了两个数字。

如果有人知道如何用一个很好的查询来做到这一点?

于 2016-08-30T17:13:32.123 回答