Standardinhalte in WordPress mit Block-Templates definieren

Block-Templates ermöglichen vorgefertigte Kombinationen von Inhaltselementen. Sie können als Vorlagen für wiederkehrende Inhaltsmuster von Seiten und Beiträgen verwendet werden. Auf diese Weise müssen Layouts für gleichartige Seiten nicht jedes Mal zeitaufwändig und fehleranfällig von Hand neu erstellt werden. Die Verwendung einheitlicher Blockkombinationen gewährleistet zudem ein konsistentes Erscheinungsbild. Ähnlich wie bei Patterns können auch in Templates Blöcke mit vordefinierten Einstellungen und Platzhalterinhalten versehen werden.

Block-Templates anlegen

Ein Block-Template besteht aus einem Array, das die Namen der Blöcke in der Reihenfolge enthält, in der sie verwendet werden sollen. Um das Template auf einen Posttyp anzuwenden, muss es diesem in der Datei functions.php zugewiesen werden.

Soll z.B. beim Standard-Posttyp »Post« unter der Hauptüberschrift immer ein einleitender Textabschnitt, gefolgt von einem Bild und einer weiteren Überschrift erscheinen, kann folgender Code verwendet werden:

/**
 * Block-Template für Post, mit Core-Blöcken
 */
add_action( 'init', function () {
   $post_type_object = get_post_type_object('post');
   $post_type_object->template = array(
      array('core/paragraph'),
      array('core/image'),
      array('core/heading'),
   );
});

Wenn die Vorlage auf einen Custom Post Type angewendet werden soll, muss »post« durch den entsprechenden Posttype-Key ersetzt werden. Alternativ kann das Array bei der Erstellung eines Custom Post Types als Wert des Arguments »template« an die Funktion register_post_type() übergeben werden.

Standard-Inhalte werden automatisch geladen, wenn ein neuer Beitrag erzeugt wird

Patterns und ACF-Blöcke in Templates

Analog zu den Blöcken des WordPress-Cores können auch eigene Blöcke unter Berücksichtigung des Präfixes sowie Patterns unter Verwendung des Slugs eingebunden werden.

/**
 * Block-Template für Post, mit Custom-Block und Pattern
 */
add_action( 'init', function () {
   $post_type_object = get_post_type_object('post');
   $post_type_object->template = array(
      array('kb/custom-block'),
      array('core/pattern', array(
         'slug' => 'kb/custom-pattern',
      )),
   );
});

Einstellungen und Platzhalterinhalte mitgeben

Damit die Blöcke nicht mit den Standardeinstellungen eingefügt werden, können über ein optionales Array entsprechende Konfigurationen für die Blöcke definiert werden. Auf diese Weise können auch Platzhaltertexte hinterlegt werden, um z.B. der Redaktion den Zweck eines Blocks mitzuteilen.

Das Beispiel mit einem einleitenden Textabschnitt, einem anschließenden Bild und einer weiteren Überschrift kann so präzisiert werden:

/**
 * Block-Template für Einstellungen und Platzhaltertexten
 */
add_action( 'init', function () {
   $post_type_object = get_post_type_object('post');
   $post_type_object->template = array(
      array('core/paragraph', array(
         'placeholder' => 'Das ist der einleitende Text.'
      )),
      array('core/image', array(
         'align' => 'wide'
      )),
      array('core/heading', array(
         'placeholder' => 'Das ist die erste Unterüberschrift (h2).',
         'level' => 2,
      )),
   );
});
Die Standard-Blöcke haben festgelegte Inhalte und Auszeichnungen

Standardmäßig können die durch Blockvorlagen eingefügten Blöcke im Editierbereich verschoben, gelöscht und um weitere Blöcke ergänzt werden. Sollen hier restriktivere Regeln gelten, kann dies über die Post-Type-Eigenschaft template_lock erfolgen: insert verhindert das Hinzufügen oder Entfernen, erlaubt aber das Verschieben der erzeugten Blöcke. all verhindert jegliche Manipulation; Blöcke können dann nicht verschoben, hinzugefügt oder entfernt werden.

/**
 * Template-Lock für Block-Templates
 */
$post_type_object->template_lock = 'all';

Geschrieben von Konstantin Hanke

Benutzerbild

Konstantin arbeitet als Webentwickler bei kulturbanause. Seine Hauptaufgabe ist die technische Umsetzung von klaren, soliden und effizienten Webauftritten und Website-Komponenten. Darüber hinaus kümmert er sich um die Wartung, Optimierung und Weiterentwicklung von bestehenden Websites. Sein besonderes Interesse gilt der Idee von quelloffener, freier Software.

Feedback & Ergänzungen – 1 Kommentar

  1. Šukri
    schrieb am 11.10.2023 um 12:17 Uhr:

    Lieber Konstantin,

    zuerst einmal ein herzliches Dankeschön für diesen tiefgreifenden und aufschlussreichen Blog Post! Als Online Marketing Agentur sind wir ständig auf der Suche nach effizienten Möglichkeiten, unsere Kunden-Websites zu optimieren, und dieser Beitrag hat uns mal wieder daran erinnert, warum WordPress eine solche Powerhouse-Plattform ist.

    Block-Templates sind ein absolutes Game-Changer für uns! Wir alle wissen, wie zeitaufwändig es sein kann, das gleiche Layout für verschiedene Seiten immer wieder zu erstellen, ganz zu schweigen von den kleinen Fehlern, die sich einschleichen können. Aber mit dieser Vorlagenfunktion? Ein Traum! Wir können uns jetzt darauf konzentrieren, kreativer zu sein, anstatt uns ständig mit wiederholenden Aufgaben zu befassen.

    Dein Beispielcode ist Gold wert. Für Einsteiger gibt es einen klaren und verständlichen Überblick, und für uns „alte Hasen“ ist es eine schöne Auffrischung. Besonders geschätzt haben wir den Abschnitt über die Einbindung von eigenen Blöcken und Patterns – etwas, das wir definitiv ausprobieren werden.

    Der Hinweis auf Platzhalterinhalte ist ebenfalls genial. Wie oft haben wir schon einen Block erstellt und uns gewünscht, der Redaktion genau zu sagen, was dort hingehört? Nun, jetzt können wir es tun.

    Zum Abschluss, Konstantin, ein dickes Lob für den letzten Abschnitt über das „Template-Lock“. Sicherheit und Konsistenz sind in unserem Geschäft alles, und zu wissen, dass wir die Kontrolle darüber haben, wie Blöcke manipuliert werden können, gibt uns und unseren Kunden ein großes Maß an Sicherheit.

    Mach weiter so mit solchen nützlichen Inhalten, und wir werden sicherlich weiterhin treue Leser deines Blogs sein! Und wer weiß, vielleicht sehen wir uns ja bei einer deiner Online-Schulungen wieder – sie klingen fantastisch!

    Herzliche Grüße aus Neuss

    Šukri

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →