Gato GraphQL 自动化演示
自动向所有订阅者发送新文章通知邮件
每当 WordPress 站点上发布新文章时,自动向所有订阅用户发送通知邮件。

我们可以使用 Gato GraphQL,在站点每次创建新文章时,自动向订阅了邮件列表的所有用户发送通知邮件。
在演示视频中,我们首先执行持久化 Query Send email to users about post,并测试发送包含特定文章内容的邮件。
我们在 JSON 字典中将 GraphQL 变量 $postId 的值设为 1 并执行 GraphQL query。通过 Mailpit(拦截所有邮件)检查后,可以验证个性化邮件确实已发送给所有用户。
例如,用户「Blogger Davenport」收到了如下邮件:

默认情况下,该 GraphQL 持久化 Query 会向所有用户发送邮件。我们也可以指定发送对象,例如只向订阅了某个邮件列表的用户发送。只需取消注释 query 中的 users(filter:) 输入即可实现:
{
users
# # Retrieve only users subscribed to an email list (uncomment if needed)
# (
# filter: {
# metaQuery: {
# key: "email_list",
# compareBy: {
# arrayValue: {
# value: "new_posts",
# operator: IN
# }
# }
# }
# }
# )
}该过滤器会检索元字段 email_list(包含列表名称的数组)中值为 new_posts 的用户。
再次执行 query 后,这次邮件被发送给了 3 位用户(即订阅了该邮件列表的用户)。
最后,我们将该流程自动化,使站点每次有新文章发布时,通知邮件都能自动发送。为此,我们发布自动化规则 Send notification email to users when there is a new post。
该自动化规则由 钩子 gatographql:draft_to_publish 触发。每当文章状态从 draft 切换为 publish 时,系统便会自动向用户发送通知邮件。