🚀 Automatisez vos tâches WordPress avec la nouvelle version Gato GraphQL v2.1
Nous sommes ravis d'annoncer que Gato GraphQL v2.1 est maintenant disponible !
Avec cette nouvelle version et les extensions PRO, vous pouvez faire du GraphQL comme automatiseur, en exploitant les requêtes persistées GraphQL pour automatiser les tâches liées aux données sur votre site WordPress.
Voici tous les changements apportés à v2.1 (une version plus courte est disponible dans les notes de version sur GitHub).
Prise en charge de la configuration de schéma à appliquer lors de l'appel au serveur GraphQL interne
Nous pouvons maintenant spécifier quelle configuration de schéma appliquer lors de l'exécution d'une requête via un serveur GraphQL interne (c'est-à -dire directement dans l'application PHP, sans passer par un endpoint).
Cette nouvelle fonctionnalité améliore l'extension Internal GraphQL Server : elle accepte désormais un paramètre $schemaConfigurationIDOrSlug dans les méthodes executeQuery et executeQueryInFile de la classe GraphQLServer, et extrait déjà la configuration de schéma utilisée par la requête persistée dans executePersistedQuery :
class GraphQLServer {
public static function executeQuery(
string $query,
array $variables = [],
?string $operationName = null,
+ // Accept parameter
+ int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
public static function executeQueryInFile(
string $file,
array $variables = [],
?string $operationName = null,
+ // Accept parameter
+ int|string|null $schemaConfigurationIDOrSlug = null,
): Response {
// ...
}
public static function executePersistedQuery(
WP_Post|string|int $persistedQuery,
array $variables = [],
?string $operationName = null,
+ // Schema Configuration is taken directly from the Persisted Query
): Response {
// ...
}GraphQL comme automatiseur [PRO]
La fonctionnalité ci-dessus constitue également la base pour améliorer l'extension Automation.
L'extension Automation propose maintenant une interface utilisateur de type « automatiseur » (directement via l'éditeur WordPress) appelée Automation Configurator. Le déclencheur de l'automatisation est n'importe quel action hook WordPress, et l'action est l'exécution d'une requête persistée GraphQL.

Par exemple, lors de la création d'un nouvel article, la règle d'automatisation Add comments block to new post (qui exécute la requête persistée du même nom) vérifie si le bloc core/comments est présent et, dans le cas contraire, l'ajoute en bas de l'article :

Voici quelques façons d'utiliser l'automatiseur :
- Créer (et optimiser) une image mise en avant pour les nouveaux articles via l'IA
- Ajouter un bloc obligatoire Ă l'article lors de sa publication
- Remplacer
httpparhttpsdans toutes les sources d'images et les liens lors de la mise Ă jour d'un article - Envoyer un e-mail Ă l'administrateur lors d'un nouvel article
- Envoyer un e-mail à l'utilisateur dont le commentaire a reçu une nouvelle réponse
- [Multisite] Traduire un nouvel article dans différentes langues et ajouter les articles traduits à chaque site
- Exécuter une action sur un service externe (ex. : partager automatiquement les nouveaux articles sur Facebook)
Comme vous pouvez composer les requêtes persistées GraphQL et les règles d'automatisation directement dans le wp-admin, il ne faut pas longtemps pour créer un pipeline d'automatisation ultra-personnalisé, adapté à vos besoins.
Et comme il n'y a aucune contrainte sur les entrées (la requête GraphQL peut interagir avec toutes les données de WordPress et se connecter à n'importe quel service externe via un client HTTP), vous devriez pouvoir satisfaire 100 % de vos exigences.
(Les plugins automatiseurs couvrent généralement 95 % de nos besoins, car nous constatons souvent qu'une entrée dont nous avons besoin n'a pas été mappée.)
Plusieurs règles d'automatisation sont déjà créées par le plugin (avec le statut draft, elles doivent donc être mises à jour à publish pour prendre effet). Vous pouvez déjà les utiliser et les consulter comme exemples pour créer vos propres automatisations (cette liste sera étendue dans les prochaines versions) :
- Add comments block to new post
- Insert block in new post
- Send notification email to admin when there is a new post
- Generate a post's featured image using AI (and optimize it) if a new post has none

Requête persistée prédéfinie « Insert block in post »
La requête GraphQL persistée nouvellement ajoutée « Insert block in post » permet d'injecter un bloc dans un article. Elle identifie le nième bloc d'un type donné (wp:paragraph par défaut) dans un article, et place le contenu HTML du bloc personnalisé fourni juste après.
Utilisée avec l'extension Automation, cette requête persistée peut être employée pour injecter automatiquement des blocs obligatoires dans un article nouvellement publié (ex. : un bloc CTA pour promouvoir une campagne en cours).
Améliorations
- Si l'initialisation du conteneur de services depuis le cache échoue, repli sur l'initialisation de l'objet PHP depuis la mémoire (#2638)
- Attribuer un operationName unique à toutes les requêtes persistées prédéfinies (#2644)
- Message d'erreur amélioré lors de la récupération de blocs depuis un article dont le contenu contient des erreurs
- Documentation complétée pour l'extension Automation (#2651)
- Dans la requête persistée prédéfinie « Generate a post's featured image using AI and optimize it », exécuter la logique uniquement si le titre de l'article n'est pas vide (#ec931dd)
Corrigé
- Bug dans le composant JS multi-contrôle utilisé par les extensions (Access Control, Cache Control et Field Deprecation) affichant « undefined » sur le bloc dans la configuration de schéma (#2639)
- Bug dans les remplacements par regex dans les requêtes persistées prédéfinies (#2649)
- Éviter la réinstallation des données de configuration du plugin lors de la désactivation/réactivation du plugin (#2641)
- Gestion de l'erreur lors du passage d'un WP_Post comme variable GraphQL au serveur GraphQL interne (#2652)