🚀 Automatisiere deine WordPress-Aufgaben mit dem neuen Gato GraphQL v2.1
Wir freuen uns, bekanntzugeben, dass Gato GraphQL v2.1 jetzt veröffentlicht wurde!
Mit dieser neuen Version und den PRO-Erweiterungen kannst du GraphQL als Automator einsetzen und GraphQL Persisted Queries nutzen, um datenbezogene Aufgaben auf deiner WordPress-Website zu automatisieren.
Hier sind alle Änderungen, die in v2.1 eingeflossen sind (eine kürzere Version findest du in den Release Notes auf GitHub).
Unterstützung für die Angabe der Schema-Konfiguration beim Aufruf des internen GraphQL-Servers
Wir können jetzt angeben, welche Schema-Konfiguration beim Ausführen einer Query über einen internen GraphQL-Server angewendet werden soll (d. h. direkt innerhalb der PHP-Anwendung, nicht über einen Endpoint).
Diese neue Funktion erweitert die Erweiterung Internal GraphQL Server: Sie akzeptiert nun einen Parameter $schemaConfigurationIDOrSlug in den Methoden executeQuery und executeQueryInFile der Klasse GraphQLServer und liest die von der Persisted Query verwendete Schema-Konfiguration bereits in executePersistedQuery aus:
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 als Automator [PRO]
Die oben beschriebene Funktion bildet auch die Grundlage für die Weiterentwicklung der Erweiterung Automation.
Die Erweiterung Automation bietet jetzt eine „Automator"-Benutzeroberfläche (direkt über den WordPress-Editor), den sogenannten Automation Configurator. Der Auslöser der Automatisierung ist ein beliebiger WordPress-Action-Hook, und die Aktion ist die Ausführung einer GraphQL Persisted Query.

Beispielsweise prüft beim Erstellen eines neuen Beitrags die Automatisierungsregel Add comments block to new post (die die Persisted Query mit demselben Namen ausführt), ob der Block core/comments vorhanden ist, und fügt ihn, falls nicht, am Ende des Beitrags ein:

Hier sind einige Möglichkeiten, wie du den Automator nutzen kannst:
- Ein Featured Image für neue Beiträge per KI erstellen (und optimieren)
- Einen Pflichtblock zum Beitrag beim Veröffentlichen hinzufügen
httpdurchhttpsin allen Bildquellen und Links ersetzen, wenn ein Beitrag aktualisiert wird- Eine E-Mail an den Administrator senden, wenn es einen neuen Beitrag gibt
- Eine E-Mail an den Benutzer senden, dessen Kommentar eine neue Antwort erhalten hat
- [Multisite] Einen neuen Beitrag in verschiedene Sprachen übersetzen und die übersetzten Beiträge zu den jeweiligen Websites hinzufügen
- Eine Aktion bei einem externen Dienst ausführen (z. B. neue Beiträge automatisch auf Facebook teilen)
Da du die GraphQL Persisted Queries und Automatisierungsregeln direkt im wp-admin erstellen kannst, dauert es kaum Zeit, eine maßgeschneiderte Automatisierungs-Pipeline aufzubauen, die genau auf deine Bedürfnisse zugeschnitten ist.
Und da es keine Einschränkungen bei den Eingaben gibt (die GraphQL-Query kann mit allen Daten in WordPress interagieren und über einen HTTP-Client eine Verbindung zu beliebigen externen Diensten herstellen), solltest du in der Lage sein, 100 % deiner Anforderungen zu erfüllen.
(Automator-Plugins erfüllen typischerweise 95 % unserer Bedürfnisse, da wir oft feststellen, dass ein benötigter Input nicht abgebildet wurde.)
Mehrere Automatisierungsregeln werden bereits vom Plugin erstellt (mit Status draft, sie müssen also auf publish gesetzt werden, damit sie wirksam werden). Du kannst sie bereits verwenden und als Beispiele heranziehen, um eigene Automatisierungen zu erstellen (diese Liste wird in weiteren Versionen erweitert):
- 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

Vordefinierte Persisted Query „Insert block in post"
Die neu hinzugefügte GraphQL Persisted Query „Insert block in post" ermöglicht es, einen Block in einen Beitrag einzufügen. Sie identifiziert den n-ten Block eines bestimmten Typs (wp:paragraph standardmäßig) in einem Beitrag und platziert den HTML-Inhalt des bereitgestellten benutzerdefinierten Blocks direkt danach.
In Kombination mit der Erweiterung Automation kann diese Persisted Query verwendet werden, um Pflichtblöcke automatisch in einen neu veröffentlichten Beitrag einzufügen (z. B. einen CTA-Block zur Bewerbung einer laufenden Kampagne).
Verbesserungen
- Wenn die Initialisierung des Service-Containers aus dem Cache fehlschlägt, wird auf die Initialisierung des PHP-Objekts aus dem Speicher zurückgegriffen (#2638)
- Allen vordefinierten Persisted Queries einen eindeutigen operationName zuweisen (#2644)
- Verbesserte Fehlermeldung beim Abrufen von Blöcken aus einem Beitrag, dessen Blockinhalt Fehler enthält
- Dokumentation für die Automation-Erweiterung vervollständigt (#2651)
- In der vordefinierten Persisted Query „Generate a post's featured image using AI and optimize it" wird die Logik nur ausgeführt, wenn der Beitragstitel nicht leer ist (#ec931dd)
Behoben
- Bug in der Multi-Control-JS-Komponente, die von Erweiterungen (Access Control, Cache Control und Field Deprecation) verwendet wird und „undefined" im Block der Schema-Konfiguration anzeigte (#2639)
- Bug bei Regex-Ersetzungen in vordefinierten Persisted Queries (#2649)
- Vermeidung der erneuten Installation der Plugin-Setup-Daten beim Deaktivieren/Reaktivieren des Plugins (#2641)
- Fehlerbehandlung beim Übergeben eines WP_Post als GraphQL-Variable an den internen GraphQL-Server (#2652)