Aufgaben automatisieren
Führt automatisch eine GraphQL Persisted Query aus, wenn ein Ereignis auf der Website eintritt.
Erstelle Automatisierungen direkt über den WordPress-Editor. Der Automatisierungs-Trigger ist ein beliebiger WordPress Action-Hook, und die Aktion ist die Ausführung einer GraphQL Persisted Query.
Alle Automatisierungsregeln aufrufen
Wenn du im Menü des Plugins auf „Automation Rules" klickst, wird die Liste aller erstellten Automatisierungsregeln angezeigt:

Eine neue Automatisierungsregel erstellen
Klicke auf „Add New Automation Rule", um einen neuen Eintrag hinzuzufügen.
Im Editor-Bildschirm musst du die Konfiguration für Folgendes angeben:
- Automatisierungs-Trigger
- Automatisierungsaktion

Automatisierungsaktion
Die Automatisierungsaktion gibt an, welche GraphQL Persisted Query ausgeführt wird.
Konfiguriere dieses Element mit den folgenden Elementen:
Persisted Query: Wähle aus, welche GraphQL Persisted Query ausgeführt werden soll (unter allen mit dem Status publish oder private)
Static GraphQL Variables: Gib einen JSON-String mit Werten für die GraphQL-Variablen in der Persisted Query an. Dies sind statische Werte.
Zum Beispiel:
{
"emailSubject": "New post on the site"
}Diese Werte werden durch die „dynamischen" GraphQL-Variablen überschrieben (siehe Automatisierungs-Trigger unten).
Operation name (optional): Wenn die Persisted Query mehr als eine Operation enthält, kannst du angeben, welche ausgeführt werden soll (standardmäßig ist es die letzte).
Execute as user (optional): Führt die GraphQL Persisted Query aus, indem du als ein bestimmter Benutzer angemeldet bist, und gibst dabei den Benutzer-Slug an.

Automatisierungs-Trigger
Ein Automatisierungs-Trigger gibt an, welcher WordPress Action-Hook die Ausführung der Persisted Query auslöst. Du kannst mehr als einen angeben (z. B.: um nur auf das Bearbeiten eines Beitrags oder einer Seite zu reagieren, kannst du die Hooks edit_post_post und edit_post_page angeben).
Konfiguriere dieses Element mit den folgenden Elementen:
Hook name: Der Name des WordPress Action-Hooks.
Dynamic GraphQL Variables: Gib einen JSON-String an, der GraphQL-Variablen den Argumenten der Hook-Funktion zuordnet. Diese dynamischen Werte werden der Query zur Laufzeit übergeben.
Das JSON-Dictionary muss den Namen der GraphQL-Variable als Schlüssel und die Position des Arguments im Action-Hook als Wert enthalten.
Zum Beispiel liefert der Hook draft_post (aus den post status transitions) $post_id als erstes Argument. Das folgende JSON gibt dann an, dass die GraphQL-Variable $postID den Wert von $post_id erhält, der an den Hook übergeben wird:
{
"postID": 1
}(In diesem Beispiel bedeutet 1 „Wert des 1. Arguments von draft_post".)
Wenn derselbe Schlüssel für die „dynamischen" und „statischen" GraphQL-Variablen verwendet wird (siehe Automatisierungsaktion oben), haben die dynamischen Werte Vorrang.

WordPress-Hook-Zuordnung
Es gibt WordPress-Hooks, die nicht direkt im Automation Configurator verwendet werden können, weil sie ein PHP-Objekt über den Hook bereitstellen, das nicht als GraphQL-Variable eingegeben werden kann.
Mehrere dieser Hooks wurden von Gato GraphQL zugeordnet, indem ein neuer Hook mit dem Präfix gatographql: und demselben Hook-Namen ausgelöst wird und die entsprechende Objekt-ID als Variable übergeben wird, die als GraphQL-Variable eingegeben werden kann.
Zum Beispiel übergibt der WordPress-Hook draft_to_publish $post als Variable (vom Typ WP_Post). Gato GraphQL ordnet diesen Hook als gatographql:draft_to_publish zu und übergibt $postId (vom Typ int) als Variable.
Die folgende Tabelle listet die zugeordneten WordPress-Hooks auf:
| WordPress-Hook | Zugeordneter Hook von Gato GraphQL |
|---|---|
{$old_status}_to_{$new_status} (übergibt WP_Post $post) | gatographql:{$old_status}_to_{$new_status} (übergibt int $postId, string $postType) |
Darüber hinaus löst Gato GraphQL mehrere WordPress-Hooks mit zusätzlichen Informationen im Hook-Namen erneut aus, um das Erfassen und Automatisieren bestimmter Ereignisse zu erleichtern.
Zum Beispiel werden Hooks, die Meta-Werte erstellen, aktualisieren und löschen, mit dem Meta-Key als Teil des Hook-Namens ausgelöst. Dann kann eine Automatisierung ausgelöst werden, wenn einem Beitrag ein Beitragsbild zugewiesen wird, über den Hook gatographql:added_post_meta:_thumbnail_id.
Dies sind die zusätzlichen Gato GraphQL-Hooks:
| Ursprünglicher WordPress-Hook | Ausgelöster Gato GraphQL-Hook |
|---|---|
{$old_status}_to_{$new_status}(Übergibt WP_Post $post) | gatographql:any_to_{$new_status}gatographql:{$old_status}_to_anygatographql:{$old_status}_to_{$new_status}:{$post_type}gatographql:any_to_{$new_status}:{$post_type}gatographql:{$old_status}_to_any:{$post_type}(Alle übergeben int $postId, string $postType) |
created_term | gatographql:created_term:{$taxonomy} |
set_object_terms | gatographql:set_object_terms:{$taxonomy}gatographql:updated_object_terms:{$taxonomy} (Wenn es einen Unterschied zwischen alten und neuen Termen gibt) |
added_post_meta | gatographql:added_post_meta:{$meta_key}gatographql:added_post_meta:{$post_type}:{$meta_key} (Übergibt auch string $post_type als 5. Parameter) |
updated_post_meta | gatographql:updated_post_meta:{$meta_key}gatographql:updated_post_meta:{$post_type}:{$meta_key} (Übergibt auch string $post_type als 5. Parameter) |
deleted_post_meta | gatographql:deleted_post_meta:{$meta_key}gatographql:deleted_post_meta:{$post_type}:{$meta_key} (Übergibt auch string $post_type als 5. Parameter) |
added_term_meta | gatographql:added_term_meta:{$meta_key}gatographql:added_term_meta:{$taxonomy}:{$meta_key} (Übergibt auch string $taxonomy als 5. Parameter) |
updated_term_meta | gatographql:updated_term_meta:{$meta_key}gatographql:updated_term_meta:{$taxonomy}:{$meta_key} (Übergibt auch string $taxonomy als 5. Parameter) |
deleted_term_meta | gatographql:deleted_term_meta:{$meta_key}gatographql:deleted_term_meta:{$taxonomy}:{$meta_key} (Übergibt auch string $taxonomy als 5. Parameter) |
Probleme debuggen
Wenn die Automatisierung nicht ausgeführt wurde, könnte es einen Fehler in der Konfiguration der Automatisierung oder bei der Ausführung der Persisted Query geben.
Ausführungsprotokolle
Weitere Details findest du unter Probleme beheben.
Fehlerprotokolle
Alle Konfigurationsprobleme (wie ein fehlerhafter JSON-String für die GraphQL-Variablen oder ein Verweis auf eine Persisted Query, die gelöscht wurde) und Ausführungsfehler (wie ausgelöste Ausnahmen oder errors-Einträge in der GraphQL-Query) werden an die PHP-Funktion error_log gesendet und damit im WordPress-Fehlerprotokoll ausgegeben.
Diese Fehlerprotokolle sind mit der Zeichenkette [Gato GraphQL] versehen.