Enviar automaticamente um e-mail a todos os assinantes notificando sobre um novo post
Sempre que um novo post é criado no site WordPress, envie automaticamente um e-mail de notificação para todos os usuários assinantes.

Podemos usar o Gato GraphQL para enviar automaticamente um e-mail de notificação para todos os usuários inscritos em uma lista de e-mails, sempre que um novo post for criado no site.
No vídeo de demonstração, primeiro executamos a query persistida Enviar e-mail aos assinantes notificando sobre um novo post e testamos o envio de um e-mail com o conteúdo de um post específico.
Testamos passando a variável GraphQL $postId com o valor 1 no dicionário JSON e executando a query GraphQL. Ao verificar no Mailpit (que intercepta todos os e-mails), constatamos que um e-mail personalizado foi de fato enviado para todos os usuários.
Por exemplo, o usuário "Blogger Davenport" recebeu o seguinte e-mail:

Por padrão, essa query persistida GraphQL envia o e-mail para todos os usuários. Também podemos especificar para quais usuários enviar o e-mail, como aqueles que se inscreveram em alguma lista de e-mails. Isso é feito removendo o comentário do input users(filter:) na query:
{
users
# # Retrieve only users subscribed to an email list (uncomment if needed)
# (
# filter: {
# metaQuery: {
# key: "email_list",
# compareBy: {
# arrayValue: {
# value: "new_posts",
# operator: IN
# }
# }
# }
# }
# )
}Esse filtro recupera os usuários que possuem o meta email_list (que é um array de nomes de listas) com o valor new_posts.
Ao executar a query novamente, desta vez o e-mail foi enviado para 3 usuários (aqueles inscritos nessa lista de e-mails).
Por fim, automatizamos o processo para que, sempre que houver um novo post no site, o e-mail de notificação seja enviado automaticamente. Para isso, publicamos a regra de automação Send notification email to users when there is a new post.
Esta regra de automação é acionada pelo hook gatographql:draft_to_publish. Assim, sempre que o status de um post é alterado de draft para publish, um e-mail de notificação é enviado automaticamente aos usuários.