WordPress: PHP-only Blöcke mit autoRegister

Ab WordPress 7.0 lassen sich eigene Blöcke vollständig in PHP entwickeln. Bisher war dafür zwingend JavaScript notwendig. Mit der neuen Option autoRegister entfällt das. WordPress übernimmt die Editor-Integration automatisch.

Was ist »autoRegister«?

autoRegister ist eine neue Option im supports-Array, die mit WordPress 7.0 eingeführt wurde. Das supports-Array ist Bestandteil von register_block_type() und legt fest, welche Editor-Funktionen ein Block unterstützt, wie z.B. Farb- oder Abstandsoptionen. Ist autoRegister aktiv, registriert WordPress den Block selbstständig im Editor.

Block erstellen: Schritt für Schritt

Ein PHP-only Block kann folgendermaßen aufgebaut werden:

  1. Block-CSS mit wp_register_style() registrieren
  2. Block via register_block_type() registrieren und Titel, Beschreibung, Kategorie, Attribute und Supports direkt als PHP-Array übergeben
  3. Im supports-Array autoRegister auf true setzen
  4. Einen render_callback schreiben (eine PHP-Funktion, die das HTML des Blocks für das Frontend erzeugt)
  5. get_block_wrapper_attributes() verwenden (eine WordPress-Funktion, die alle notwendigen HTML-Attribute wie Klassen und Inline-Styles aus den Block Supports automatisch generiert)

In folgendem Beispiel erzeugen wir einen einfachen PHP-Block als Plugin. Der Block heißt »Info-Block« und gibt einen kurzen Text im Frontend aus. Über die Sidebar des Block-Editors lässt sich der Text bearbeiten sowie Schrift- und Hintergrundfarbe anpassen – alles ohne eine einzige Zeile JavaScript.

<?php
/*
Plugin Name: Info-Block (PHP-Only Block)
Description: Integration des PHP-Only Info-Blocks ab WordPress 7.0
*/

function kb_info_block_register_block() {

    // Schritt 1: CSS registrieren
    wp_register_style(
        'kb-info-block-style',
        plugin_dir_url( __FILE__ ) . 'style.css'
    );

    // Schritte 2 & 3: Block registrieren und autoRegister aktivieren
    register_block_type( 'pluginname/info-block', [
        'title'    => 'Info-Block',
        'category' => 'text',
        'style'    => 'kb-info-block-style',
        'attributes' => [
            'text' => [
                'type'    => 'string',
                'label'   => 'Text',
                'default' => '',
            ],
        ],
        'supports' => [
            'autoRegister' => true,
            'color' => [
                'text'       => true,
                'background' => true,
            ],
        ],
        'render_callback' => 'kb_info_block_render_block',
    ] );
}
add_action( 'init', 'kb_info_block_register_block' );

// Schritte 4 & 5: render_callback mit get_block_wrapper_attributes()
function kb_info_block_render_block( $attributes ) {
    $wrapper = get_block_wrapper_attributes();
    $text    = esc_html( $attributes['text'] ?? '' );

    return "<div {$wrapper}>{$text}</div>";
}

Das Plugin besteht aus zwei Dateien: der PHP-Hauptdatei (z. B. info-block.php) mit der Block-Registrierung und einer style.css im selben Ordner für das Styling. Der Plugin-Ordner wird wie üblich unter wp-content/plugins/ abgelegt.

Auswahl des Blocks im Block-Editor von WordPress

Einstellungen (Block Controls) für PHP-Blöcke festlegen

WordPress generiert automatisch die passenden Eingabefelder und Styling-Optionen in der rechten Seitenleiste, sobald bestimmte Attribute korrekt definiert sind. Eigene, JavaScript-basierte, Eingabefelder (Inspector Controls) lassen sich mit PHP-only Blöcken nicht umsetzen. Für viele Anwendungsfälle wird das auch nicht benötigt.

Input-Typen über Attribute steuern

Erhält ein Attribut einen label-Key, erzeugt WordPress daraus selbstständig ein passendes Eingabefeld in der Sidebar. Der Typ des Attributs bestimmt dabei, welches Control erscheint:

Styling-Optionen mittels Block Supports steuern

Block Supports sind vordefinierte WordPress-Funktionen wie Farb-, Abstands- oder Typografie-Optionen. Sie lassen sich direkt im supports-Array aktivieren, wodurch WordPress die entsprechenden Sidebar-Panels automatisch rendert.

Darstellung der Block Controls in der Sidebar

Wann sind PHP-only Blöcke sinnvoll?

PHP-only Blöcke eignen sich besonders für einfache Ausgabe-Blöcke ohne komplexe Interaktion im WordPress-Editor. Sobald ein Block aufwändige Editor-Interaktion benötigt, z.B. verschachtelte Blöcke Media-Uploads oder eine eigene Live-Vorschau, kommt man um JavaScript nicht herum. Für alle anderen Fälle ist der PHP-Block oft die schlankere und wartungsärmere Lösung.

PHP-Blöcke mit Claude Code entwickeln

Claude Code lässt sich durch Skills erweitern. Der folgende Skill php-block (nicht offiziell von WordPress) versorgt Claude mit den Konventionen des Projekts, sodass generierter Code den Standards entspricht. Eine Einführung in das Thema bietet dieses Video-Tutorial.

Feedback & Ergänzungen – 6 Kommentare

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.

Geschrieben von:

Jonas Hellwig

Benutzerbild

Jonas ist Gründer von kulturbanause. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Mastodon, LinkedIn, Xing und YouTube.

Robert Menzel

Benutzerbild

Robert arbeitet als Frontend-Developer und Web-Designer bei kulturbanause. Zu seinen Aufgaben gehören die visuelle Gestaltung und die technische Umsetzung von Websites, eCommerce-Shops oder dessen Kombination. Besonders gerne übernimmt er die Entwicklung individueller und anspruchsvoller Websites mit umfangreichen ineinandergreifenden Funktionen, getreu dem Motto: »Der beste Lack bringt nichts, wenn die Maschine darunter nicht läuft.«

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.

Schulung + Beratung