Vorwort: Torsten Landsiedel hat das #Projekt26 gestartet, bei dem über ein Jahr alle zwei Wochen ein Blogbeitrag und ein Kommentar zu einem anderen #Projekt26-Artikel geschrieben werden sollen. Ich versuche mich auch daran, um das Blog wieder etwas regelmäßiger mit Beiträgen zu füllen. Hier mein (kurzer) Start-Beitrag.
Manchmal ist es notwendig, nach dem Speichern eines Posts eine bestimmte Aktion mit den aktualisierten Daten durchzuführen. Der Block-Editor macht es einem da insofern schwer, als dass die bisherigen Hooks wie save_post
oder post_updated
nicht wie erwartet funktionieren: die Metawerte stimmen zu dem Zeitpunkt noch nicht, sondern sind auf dem alten Stand von vor der Aktualisierung.
Abhilfe schafft der rest_after_insert_{$this->post_type}
-Action-Hook, der als ersten Parameter das Post-Objekt erhält ({$this->post_type}
muss durch den Bezeichner des Post-Types ersetzt werden, also beispielsweise post
oder page
). Wenn zu diesem Objekt dann via get_post_meta()
Daten ermittelt werden, handelt es sich um die neuen Werte.
Bin ich auch schon mal drüber gestolpert. Deine Lösung ist da aber deutlich schöner als meine.
Schade das so brechende Änderungen gemacht werden.
Ja, das stimmt. Es gibt ein Ticket dafür (https://github.com/WordPress/gutenberg/issues/15777), aber wenig Aktivität.