通过自定义字段自动化将用户添加到群组

:bookmark: 本指南说明了如何在用户注册或更新个人资料时,根据他们对自定义用户字段的选择,自动将用户添加到群组中。

:person_raising_hand: 所需用户级别:管理员

摘要

  1. 创建必要的群组
  2. 设置自定义用户字段
  3. 创建自动化脚本以将用户添加到群组
  4. 测试设置

创建群组

首先,创建您希望用户自动加入的群组:

  1. 转到您网站的“管理区域”(Admin area)
  2. 导航到管理侧边栏中的“群组”(Groups),或访问 /admin/groups
  3. 点击“新建群组”(New Group) 以创建您想要的每个群组
  4. 确保为每个群组设置一个“全名”(Full Name),因为自动化脚本会使用此名称

:information_source: 自动化脚本会将用户的自定义字段值与群组的全名进行匹配。请确保每个群组的“全名”与相应的自定义字段选项完全匹配(例如,如果下拉选项是“cat”,则群组的“全名”必须是“cat”)。

设置自定义用户字段

接下来,创建一个供用户选择的自定义用户字段:

  1. 转到您网站的“管理区域”(Admin area)
  2. 导航到管理侧边栏“社区”(Community) 部分中的“用户字段”(User Fields),或访问 /admin/config/user-fields
  3. 点击“添加用户字段”(Add user field)
  4. 使用适当的选项设置该字段

以下是您的自定义用户字段可能外观的示例:

:information_source: 使用下拉菜单字段类型,并提供与您的群组“全名”完全匹配的预定义选项。自由文本字段可能导致不匹配。如果使用确认字段类型,其值将是“true”或“false”,因此您群组的“全名”必须相应设置。

创建自动化

现在,设置自动化脚本,根据用户的自定义用户字段选择将其添加到群组:

  1. 转到您网站的“管理区域”(Admin area)
  2. 导航到管理侧边栏中的“插件” > “自动化”(Plugins > Automation),或访问 /admin/plugins/automation
  3. 点击“添加自动化”(Add automation)
  4. 选择“通过用户自定义字段将用户添加到群组”(Add user to group through User Custom Field) 作为脚本
  5. 选择一个触发器:
    • “用户首次登录”(User first logged in) 在注册时将用户添加到群组
    • “定期”(Recurring) 定期运行,允许用户随着时间推移更改群组
  6. 从下拉菜单中选择您的自定义用户字段
  7. 配置自动化设置并确保启用它

以下是您的自动化设置可能外观的示例:

:mega: 该自动化包含一个下拉菜单,用于选择您现有的自定义用户字段,从而使设置更简单,不易出错。

测试设置

要确保一切正常工作:

  1. 以新用户的身份注册或更新现有用户的个人资料
  2. 从您创建的自定义用户字段中选择一个选项
  3. 完成注册或个人资料更新过程

以下是自定义用户字段在注册期间可能出现方式的示例:

自动化运行后,您应该会看到用户被添加到相应的群组中:

常见问题解答 (FAQs)

Q: 此自动化可以将用户添加到主群组吗?
A: 默认情况下,此自动化将用户添加到次要群组。要将群组设置为主要群组,请转到该群组的“管理” > “成员资格”设置页面,然后选择“自动设置为主要群组”。

Q: 如果我选择“定期”触发器,自动化运行的频率是多少?
A: 您可以在创建自动化时设置频率。选择最适合您社区需求的计划。

Q: 如果用户更改了他们的自定义用户字段选择,会发生什么?
A: 如果您设置了定期自动化,它将在下一次运行时根据用户更新后的选择将他们添加到新群组中。但是,该自动化不会将用户从他们之前的群组中移除——它只负责添加。如果需要,您需要手动管理群组移除。

Q: 自动化如何知道将用户添加到哪个群组?
A: 自动化将用户的自定义字段值与每个群组的全名进行匹配。在自动化设置中没有明确的群组选择——匹配是根据“全名”自动进行的。

附加资源

15 个赞

此自动化现已进行了调整,包含一个下拉菜单,可从中选择您现有的用户自定义字段。 :partying_face:

无需再在用户自定义字段的 JSON 中翻找 ID 号码,也无需担心因输入错误而导致的问题。界面超级流畅友好。 :sunglasses:

7 个赞

自动化只能将用户添加到辅助组,如果我想将他添加到主组,该怎么办?

我认为这应该设置在群组的“管理/成员资格”设置页面上,您可以在其中选择“自动设置为主要群组”。

2 个赞

我错过了什么?

我做了所有这些,但在测试后它没有按预期工作。

您需要将组的“全名”与自动化名称选项匹配吗?即 我看不到在触发事件中选择用户要添加到的组的选项。

我错过了哪一步,或者有什么东西我没想明白。

2 个赞
3 个赞

谢谢,我已删除所有之前的设置,同步了名称字段并测试了注册。但仍然不成功。

确认一下,您使用的是“全名”组而不是“@名称”?

另外,我还将自动化更改为“定期”,以便我可以手动触发自动化,但这也没有奏效。

我从头开始创建了一切:

  1. 我的自定义用户字段“宠物团队”:

  2. 新的群组:名称“cat-lovers”,全名“cat”和名称“dog-lovers”,全名“dog”

  3. 自动化:(我选择了每 1 分钟进行快速测试)

  4. 测试

    1. 在我的个人资料偏好设置中为“宠物团队”选择“cat”
    2. 检查群组成员资格:
    3. 在我的个人资料偏好设置中为“宠物团队”选择“dog”
    4. 检查群组成员资格:
2 个赞

我原本打算发布一个新主题 “如何在 : 之后过滤用户注册”,以便从 X 日起的所有新用户都进入 X 组。

但是,我找到了这个主题,并认为它就是我所需要的。

与您的示例(再次感谢)相比,我的用例有所不同,可能更简单,不需要多项选择,用户只需勾选“确认” :white_check_mark:,该确认字段即可将用户固定到 X 组。

1 个赞

我还可以在用户配置文件中看到测试用户和 X 字段 = true,因此这在注册时有效。

如上所述,在我的用例中,只有 cat 选项,它通过“确认”点击分配,这是单一过滤器要求。

也许我会尝试使用下拉列表强制执行它,看看是否有效。

我也通过一个自定义的确认用户字段实现了自动化。

1 个赞

好的,就是这样,我将自定义用户字段更改为只有一个选项的下拉列表,然后它就成功了。

我无法复制!:grinning:

1 个赞

这有帮助吗?也许你能发现不同之处

用户字段


自动化

群组

2 个赞

您的群组名称是“true”吗?

是的,它必须与自定义用户字段的值匹配。确认字段为“true”或“false”。

3 个赞

好的,这正是我所想的。

那么,您就只能有一个名为“true”的组,并且再也不能使用这种“确认”方法了。

我现在将使用下拉列表,因为我可能希望每年更改组过滤器,例如,每年一个组。

最后,如果我可以向自动化工具的制作者提出建议,也许可以考虑一个更明确的步骤和字段,来指定过滤器目标的用户组,因为这个隐含的设置部分给我带来了很多困惑和时间,可能也给其他人带来了同样的问题。

感谢您的所有帮助和介绍@Moin

3 个赞

我注意到文档中有一些错误:

实际上,用户字段位于管理员侧边栏的社区部分。

自动化是通过插件实现的,因此您会在“插件”下找到它,而不是在“自定义”下。

总的来说,截图和导航似乎有点过时。另外,通用术语似乎是“自定义用户字段”,而本指南经常使用“用户自定义字段”。

前段时间,我曾建议了一个反映了大部分这些要点的替代版本。我现在将其分享在此,希望能帮助那些在这些方面遇到困难的人。

我的草稿

:bookmark: 本指南解释了如何根据用户在注册或更新个人资料时选择自定义用户字段来自动将用户添加到组。

:person_raising_hand: 所需用户级别:管理员

摘要

  1. 设置自定义用户字段
  2. 创建必要的组
  3. 创建一个自动化以将用户添加到组
  4. 测试设置

设置自定义用户字段

首先,创建一个用户将在其中选择的自定义用户字段:
(还有一个关于用户字段的详细指南

  1. 转到您站点的管理区域
  2. 通过管理员侧边栏社区部分中的链接或访问 /admin/config/user-fields 导航到“用户字段”
  3. 点击“添加用户字段”
  4. 使用适当的选项设置字段

这是您的用户字段可能外观的示例:

:information_source: 自动化会将用户分配到一个组,前提是他们在自定义字段中的输入与组的完整名称完全匹配。为确保准确性,请使用包含与组名称完全匹配的预定义选项的下拉列表。自由文本字段可能导致不匹配。如果使用确认字段,组名称需要是“true”或“false”。

创建组

接下来,创建您希望用户自动添加到的组:
(还有一个关于创建组的详细指南

  1. 通过管理员侧边栏中的链接或在论坛 URL 中添加 /g/groups 来转到“组”
  2. 点击“新建组”以创建您想要的每个组
  3. 确保为每个组添加一个“完整名称”,因为自动化脚本会使用它

:information_source: 自动化脚本使用组的“完整名称”,因此请确保它与自定义用户字段中的输入完全匹配。

创建自动化

现在,设置自动化以根据用户自定义用户字段的选择将用户添加到组:

  1. 转到您站点的管理区域
  2. 导航到 插件 > 自动化
  3. 点击“添加自动化”
  4. 选择“通过用户自定义字段将用户添加到组”作为脚本
  5. 添加一个名称
  6. 选择一个触发器:
    • “用户首次登录”以在注册时将用户添加到组
    • “定期”以按计划运行,允许用户随时间更改组
  7. 从下拉菜单中选择您的用户自定义字段
  8. 不要忘记启用您的自动化

这是您的自动化设置可能外观的示例:

测试设置

为确保一切正常运行:

  1. 注册一个新用户或更新现有用户的个人资料
  2. 从您创建的自定义用户字段中选择一个选项
  3. 完成注册或个人资料更新过程

这是用户字段在注册期间可能外观的示例:

自动化运行后,您应该会看到用户被添加到相应的组:

常见问题解答

问:此自动化可以将用户添加到主要组吗?
答:默认情况下,此自动化会将用户添加到次要组。要将组设置为主要组,请转到该组的“管理 > 会员资格”设置页面,然后选择“自动设置为主要组”。

问:如果我选择“定期”触发器,自动化会运行多久一次?
答:您可以在创建自动化时设置频率。选择最适合您社区需求的计划。

问:如果用户更改了他们的自定义用户字段选择,会发生什么?
答:如果您设置了定期自动化,它将在下次运行时根据用户的新选择更新用户的组会员资格。

问:我可以使用多个基于确认字段的自动化吗?
答:是的!虽然两个组的完整名称都必须是“true”或“false”,但您可以创建具有不同名称的多个组来区分它们。在设置自动化时,只需为每个组选择相应的自定义字段即可。

附加资源

如果我现在更新文档,我还会补充一点,即使用多选自定义用户字段存在问题

4 个赞

我已经设置好了,并注意到当用户在用户字段下拉列表中更改其偏好设置时,不会将其从最初选择的组中移除,但会将其添加到他们选择的新组中。这是预期的行为吗?

也就是说,一旦用户被添加到组中,是否无法通过自动化将其从组中移除?

1 个赞

系统对我来说仍然完全无法工作,当自定义用户字段是带有多个选项的下拉列表时

1 个赞