Attribute des Block-Edit-Wrappers verändern

Im Gutenberg-Editor liegen ein paar Wrapper-Elemente um das Markup aus der edit-Funktion. Der äußerste hat die wp-block-Klasse und ein data-block-Attribut, in dem der Name des Blocks mit dem Namespace steht, bei dem Gruppe-Block beispielsweise core/group.

Die Attribute dieses Wrappers lassen sich verändern, so können zum Beispiel Klassennamen eingefügt werden, die etwas über den Wert von Block-Einstellungen aussagen, was für das Styling des Blocks im Backend vorteilhaft oder notwendig sein kann.

Attribute des Block-Edit-Wrappers verändern weiterlesen

Gutenberg-Eingabefeld wie das für Schlagwörter erstellen

In einem meiner aktuellen Projekte sollte es möglich sein, für Beiträge eines Custom-Post-Types Verknüpfungen zu Beiträgen eines anderen CPTs herzustellen. Ich wusste nicht genau, welche Gutenberg-Komponente dafür am besten geeignet wäre, bin dann aber an dem Feld für die Schlagwörter normaler Beiträge hängen geblieben: bei Nutzereingabe erscheinen passende Schlagwörter und können einer Auswahl hinzugefügt werden.

Mit dem FormTokenField-Feld kann das Verhalten nachgebaut werden, in der verlinkten Readme sind alle Optionen für die Komponente aufgeführt. Damit war die Komponente gefunden, die ich nutzen wollte, statt Schlagwörtern werden CPT-Posts vorgeschlagen.

Gutenberg-Eingabefeld wie das für Schlagwörter erstellen weiterlesen

Veröffentlichen und Aktualisieren in Gutenberg verhindern, bis Bedingung erfüllt ist

In Gutenberg kann der Button zum Veröffentlichen und Aktualisieren deaktiviert werden. So wäre es beispielsweise möglich, vor dem Veröffentlichen eines Custom-Post-Type-Inhalts das Ausfüllen eines Blocks zu erzwingen, mit dem Metadaten für den Inhalt gespeichert werden, die bei der Ausgabe benötigt werden. Hier zeige ich, wie das funktioniert.

Veröffentlichen und Aktualisieren in Gutenberg verhindern, bis Bedingung erfüllt ist weiterlesen

Updates bei Block-Plugins und die oft verzögerte Auswirkung aufs Frontend

Ich bin ein großer Fan von Gutenberg. In den letzten Wochen hatte ich allerdings gleich mehrfach das zweifelhafte Vergnügen, bei dem Seiten nach dem Aktualisieren plötzlich im Frontend zerschossen waren, obwohl nicht groß etwas geändert wurde.

Der Grund: ein Block-Plugin hatte ein Update spendiert bekommen, mit dem das Markup der Blöcke geändert wurde. Dadurch griffen CSS-Änderungen nicht mehr, die ich im Theme gemacht hatte. Gut, das hätte auch mit Markup passieren können, das über Shortcodes generiert wird.

Updates bei Block-Plugins und die oft verzögerte Auswirkung aufs Frontend weiterlesen

Korrekte Meta-Werte nach Post-Update im Block-Editor bekommen

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.

Bereiche in der Block-Editor-Sidebar ausblenden

Die Dokument-Sidebar des Block-Editors ist in unterschiedliche Bereiche unterteilt, etwa einen für das Beitragsbild und bei Beiträgen einen für Schlagwörter. Manchmal kann es sinnvoll sein, bestimmte Bereiche auszublenden, um die Sidebar übersichtlicher zu machen, etwa wenn keine Beitragsbilder genutzt werden. Hier zeige ich, wie das funktioniert.

Bereiche in der Block-Editor-Sidebar ausblenden weiterlesen

Block-Templates für neue Seiten, Beiträge und Custom Post Types definieren

Es gibt bei dem Block-Editor von WordPress die Möglichkeit, Templates von Blöcken zu definieren, die beim Erstellen neuer Inhalte automatisch eingefügt werden. Hier zeige ich, wie das funktioniert und wie auch wiederverwendbare Blöcke in Templates genutzt werden können.

Block-Templates für neue Seiten, Beiträge und Custom Post Types definieren weiterlesen