WordPress beheren
WordPress beherenTaken automatiseren

Taken automatiseren

Voer automatisch een GraphQL Persisted Query uit wanneer er een gebeurtenis plaatsvindt op de site.

Maak automatiseringen rechtstreeks via de WordPress-editor. De automatiseringstrigger is een willekeurige WordPress action hook, en de actie is de uitvoering van een GraphQL persisted query.

Toegang tot alle automatiseringsregels

Door op "Automation Rules" in het menu van de plugin te klikken, wordt de lijst met alle aangemaakte automatiseringsregels weergegeven:

Automatiseringsregels
Automatiseringsregels

Een nieuwe automatiseringsregel aanmaken

Klik op "Add New Automation Rule" om een nieuw item toe te voegen.

Op het editorscherm moet je de configuratie opgeven voor:

  • Automatiseringstrigger(s)
  • Automatiseringsactie
Editor voor automatiseringsregels
Editor voor automatiseringsregels

Automatiseringsactie

De automatiseringsactie geeft aan welke GraphQL persisted query wordt uitgevoerd.

Configureer dit item met de volgende elementen:

Persisted Query: Selecteer welke GraphQL persisted query je wilt uitvoeren (uit alle persisted queries met status publish of private)

Static GraphQL Variables: Geef een JSON-tekenreeks op met waarden voor de GraphQL-variabelen in de persisted query. Dit zijn statische waarden.

Bijvoorbeeld:

{
  "emailSubject": "New post on the site"
}

Deze waarden worden overschreven door de "dynamische" GraphQL-variabelen (zie Automatiseringstrigger(s) hieronder).

Operation name (optioneel): Als de persisted query meer dan ƩƩn operatie bevat, kun je aangeven welke je wilt uitvoeren (standaard is dat de laatste).

Execute as user (optioneel): Voer de GraphQL persisted query uit terwijl je bent ingelogd als een specifieke gebruiker, door de gebruikersslug op te geven.

Automatiseringsregel - Uitvoering Persisted Query
Automatiseringsregel - Uitvoering Persisted Query

Automatiseringstrigger(s)

Een automatiseringstrigger geeft aan welke WordPress action hook de uitvoering van de Persisted Query zal activeren. Je kunt er meer dan ƩƩn opgeven (bijv.: om alleen te reageren op het bewerken van een bericht of pagina, kun je de hooks edit_post_post en edit_post_page opgeven).

Configureer dit item met de volgende elementen:

Hook name: De naam van de WordPress action hook.

Dynamic GraphQL Variables: Geef een JSON-tekenreeks op die GraphQL-variabelen koppelt aan de argumenten die aan de hookfunctie worden meegegeven. Deze dynamische waarden worden vervolgens tijdens de uitvoering aan de query doorgegeven.

Het JSON-woordenboek moet de naam van de GraphQL-variabele als sleutel bevatten, en de positie van het argument in de action hook als waarde.

Bijvoorbeeld: de hook draft_post (uit de post status transitions) geeft $post_id als eerste argument mee. De volgende JSON geeft aan dat GraphQL-variabele $postID de waarde van $post_id ontvangt die aan de hook wordt doorgegeven:

{
  "postID": 1
}

(In dit voorbeeld betekent 1 "de waarde van het 1e argument van draft_post".)

Als dezelfde sleutel wordt gebruikt voor de "dynamische" en "statische" GraphQL-variabelen (zie Automatiseringsactie hierboven), hebben de dynamische waarden prioriteit.

Automatiseringsregel - Action hook
Automatiseringsregel - Action hook

WordPress hook-mapping

Er zijn WordPress-hooks die niet rechtstreeks in de Automation Configurator kunnen worden gebruikt, omdat ze een PHP-object via de hook doorgeven, wat niet als GraphQL-variabele kan worden ingevoerd.

Verschillende van deze hooks zijn door Gato GraphQL in kaart gebracht door een nieuwe hook te activeren met het voorvoegsel gatographql: en dezelfde hooknaam, waarbij de bijbehorende object-ID als variabele wordt doorgegeven, die als GraphQL-variabele kan worden ingevoerd.

Bijvoorbeeld: WordPress hook draft_to_publish geeft $post als variabele door (van het type WP_Post). Gato GraphQL koppelt deze hook als gatographql:draft_to_publish en geeft $postId (van het type int) als variabele mee.

De volgende tabel geeft een overzicht van de gekoppelde WordPress-hooks:

WordPress hookGekoppelde hook door Gato GraphQL
{$old_status}_to_{$new_status} (geeft WP_Post $post mee)gatographql:{$old_status}_to_{$new_status} (geeft int $postId, string $postType mee)

Daarnaast heractiveer Gato GraphQL verschillende WordPress-hooks met extra informatie in de hooknaam, om het gemakkelijker te maken specifieke gebeurtenissen op te vangen en te automatiseren.

Zo worden hooks die meta-waarden aanmaken, bijwerken en verwijderen geactiveerd met de meta-sleutel als onderdeel van de hooknaam. Een automatisering kan dan worden geactiveerd wanneer een uitgelichte afbeelding aan een bericht wordt toegewezen, via de hook gatographql:added_post_meta:_thumbnail_id.

Dit zijn de aanvullende Gato GraphQL-hooks:

Bron WordPress hookGeactiveerde Gato GraphQL hook
{$old_status}_to_{$new_status}
(Geeft WP_Post $post mee)
gatographql:any_to_{$new_status}
gatographql:{$old_status}_to_any
gatographql:{$old_status}_to_{$new_status}:{$post_type}
gatographql:any_to_{$new_status}:{$post_type}
gatographql:{$old_status}_to_any:{$post_type}
(Alle geven int $postId, string $postType mee)
created_termgatographql:created_term:{$taxonomy}
set_object_termsgatographql:set_object_terms:{$taxonomy}
gatographql:updated_object_terms:{$taxonomy} (Wanneer er een verschil is tussen oude en nieuwe termen)
added_post_metagatographql:added_post_meta:{$meta_key}
gatographql:added_post_meta:{$post_type}:{$meta_key} (Geeft ook string $post_type als 5e parameter mee)
updated_post_metagatographql:updated_post_meta:{$meta_key}
gatographql:updated_post_meta:{$post_type}:{$meta_key} (Geeft ook string $post_type als 5e parameter mee)
deleted_post_metagatographql:deleted_post_meta:{$meta_key}
gatographql:deleted_post_meta:{$post_type}:{$meta_key} (Geeft ook string $post_type als 5e parameter mee)
added_term_metagatographql:added_term_meta:{$meta_key}
gatographql:added_term_meta:{$taxonomy}:{$meta_key} (Geeft ook string $taxonomy als 5e parameter mee)
updated_term_metagatographql:updated_term_meta:{$meta_key}
gatographql:updated_term_meta:{$taxonomy}:{$meta_key} (Geeft ook string $taxonomy als 5e parameter mee)
deleted_term_metagatographql:deleted_term_meta:{$meta_key}
gatographql:deleted_term_meta:{$taxonomy}:{$meta_key} (Geeft ook string $taxonomy als 5e parameter mee)

Problemen debuggen

Als de automatisering niet is uitgevoerd, kan er een fout zitten in de configuratie van de automatisering of in de uitvoering van de persisted query.

Uitvoeringslogboeken

Raadpleeg Problemen oplossen voor meer informatie.

Foutlogboeken

Alle configuratieproblemen (zoals een onjuist opgemaakte JSON-tekenreeks voor de GraphQL-variabelen, of een verwijzing naar een persisted query die is verwijderd) en uitvoeringsfouten (zoals gegooide uitzonderingen, of errors-vermeldingen in de GraphQL query) worden naar de PHP-functie error_log gestuurd, zodat ze worden afgedrukt in het WordPress-foutlogboek.

Deze foutlogboeken worden voorafgegaan door de tekenreeks [Gato GraphQL].