Envoyer automatiquement un email à tous les abonnés pour notifier d’un nouvel article
Chaque fois qu’un nouvel article est créé sur le site WordPress, envoyez automatiquement un email de notification à tous les utilisateurs abonnés.

Nous pouvons utiliser Gato GraphQL pour envoyer automatiquement un email de notification à tous les utilisateurs abonnés à une liste de diffusion, chaque fois qu’un nouvel article est créé sur le site.
Dans la vidéo de démonstration, nous exécutons d’abord la requête persistée Envoyer un email aux abonnés pour notifier d’un nouvel article et testons l’envoi d’un email avec le contenu d’un article spécifique.
Nous le testons en passant la variable GraphQL $postId avec la valeur 1 dans le dictionnaire JSON, et en exécutant la requête GraphQL. En vérifiant dans Mailpit (qui intercepte tous les emails), nous constatons qu’un email personnalisé a bien été envoyé à tous les utilisateurs.
Par exemple, l’utilisateur "Blogger Davenport" a reçu l’email suivant :

Par défaut, cette requête persistée GraphQL envoie l’email à tous les utilisateurs. Nous pouvons également spécifier à quels utilisateurs envoyer l’email, par exemple ceux qui se sont abonnés à une liste de diffusion. Cela se fait en décommentant l’entrée users(filter:) dans la requête :
{
users
# # Retrieve only users subscribed to an email list (uncomment if needed)
# (
# filter: {
# metaQuery: {
# key: "email_list",
# compareBy: {
# arrayValue: {
# value: "new_posts",
# operator: IN
# }
# }
# }
# }
# )
}Ce filtre récupère alors les utilisateurs qui ont la méta email_list (qui est un tableau de noms de listes) avec la valeur new_posts.
En exécutant la requête à nouveau, cette fois l’email a été envoyé à 3 utilisateurs (ceux abonnés à cette liste de diffusion).
Enfin, nous automatisons le processus, de sorte que chaque fois qu’un nouvel article est publié sur le site, l’email de notification est envoyé automatiquement. Pour cela, nous publions la règle d’automatisation Send notification email to users when there is a new post.
Cette règle d’automatisation est déclenchée par le hook gatographql:draft_to_publish. Ainsi, chaque fois que le statut d’un article passe de draft à publish, un email de notification est automatiquement envoyé aux utilisateurs.