Zur Suche springen Zur Navigation springen Zum Hauptinhalt springen Zum Footer springen

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 – Schreibe einen Kommentar

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 →