Nachlese zum WordPress Meetup #137 – Juni – Blöcke nur mit PHP erstellen

Im Juni hat uns Torsten Landsiedel gezeigt, wie wir nur mit PHP einen Block erstellen können. Dank des neuen Features aus WordPress 7.0 lassen sich einfache Blöcke einfach selbst erstellen. Vom einfachen Functionality-Plugin bis zum realen nützlichen Beispiel.

Die WordPress-News betrafen vor allem zwei aktuelle (und immer noch ungelöste) Probleme:
Auf sämtlichen nicht-englischen wordpress.org-Theme Seiten ist die Suche defekt:
https://fr.wordpress.org/themes/search/hello/
Ein Ticket dazu existiert natürlich schon:
https://meta.trac.wordpress.org/ticket/8338

Unter dem Titel „Protect the Shire“ hat Matt höchstselbst einen 24-Stunden-Delay für alle Theme- und Plugin-Updates eingeführt. Was eigentlich als Maßnahme für mehr Sicherheit gedacht war, ist eher ein Eigentor, denn nun bleiben wichtige Updates für 24-Stunden den meisten Laien unbekannt. Ein unverzeihliches Risiko, wenn man bedenkt, dass die Zeit immer kürzer wird, bis Sicherheitslücken ausgenutzt werden:
https://wordpress.org/news/2026/06/pts/
https://torstenlandsiedel.de/2026/06/09/plugin-und-theme-updates-werden-24-stunden-verzoegert/
https://www.therepository.email/plugin-developers-and-site-maintainers-push-back-on-wordpress-orgs-24-hour-update-delay

Um überhaupt zu verstehen, wie ein Plugin aufgebaut ist, bauen wir uns erst einmal ein Plugin ohne Funktion, um den Header kennenzulernen und wie das Ganze im Backend aussieht:
https://gist.github.com/Zodiac1978/1d9f33ef1be377869ad3

In Schritt 2 ergänzen wir unser Functionality-Plugin mit realen Daten und einer simplen Filter-Funktion:

<?php
/**
 * Plugin Name: Adminbar Remover
 * Description: Removes the adminbar on the frontend
 * Plugin URI:  https://wpmeetup-hamburg.de
 * Version:     1.0.0
 * Author:      Torsten Landsiedel / WP Meetup Hamburg
 * Author URI:  https://torstenlandsiedel.de
 * License:     GPL 2
 * License URI: http://opensource.org/licenses/GPL-2.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

/**
 * Remove adminbar
 */
add_filter( 'show_admin_bar', '__return_false' );

Nun schauen wir uns die neue Funktion genauer an. Das Ganze wurde im Trac-Ticket #64639 entwickelt. Der Ankündigungsartikel kam schon im März.

Danach gab es mehrere Artikel, die die Grundlagen beispielhaft erläutern:
https://ryanwelcher.com/2026/03/04/php-only-block-registration-in-wordpress-7-0/
https://kulturbanause.de/blog/wordpress-php-only-bloecke-mit-autoregister/
https://getbutterfly.com/php-only-block-registration-in-wordpress (Empfehlung für tieferen Einstieg!)

Alle diese Beispiele sind allerdings wenig sinnvoll, daher habe ich mal ein reales Problem umgesetzt. Ein Block, der es ermöglicht eine Headline teilweise oder vollständig mit einem beliebigen Farbverlauf zu füllen:
https://github.com/Zodiac1978/special-heading-block

Leider taucht diese Headline nicht in der Document Outline auf, was ein bekanntes Problem ist:
https://github.com/WordPress/gutenberg/issues/71699

So sieht dann das Ergebnis aus:

Und hier findet ihr die Slides mit den Erläuterungen des Codes:

Hier klicken, um den Inhalt von Speaker Deck anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von Speaker Deck.

Nach dem Meetup fand ein WordCamp in Mannheim statt, wo der geschätzte Kollege Bernhard Kau einen Talk zu genau diesem Thema hatte, den ich hier ebenfalls mal einbaue:

Hier klicken, um den Inhalt von WordPress.tv anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von WordPress.tv.

Um das Ganze abzurunden, haben wir auch noch Alternativen angeschaut.

Mit dem AI-Tool für Blockerstellung von Automattic ließ sich das Plugin tatsächlich easy mit einem Prompt nachbauen lassen und ist dann ein nativer React-Block:
https://telex.automattic.ai/projects/cde3b5ec

Wenn das React-Wissen fehlt, ist die Wartung oder Weiter-Entwicklung so eines Blocks natürlich schwierig, aber mit den einschlägigen AI-Tools vielleicht durchaus ein Weg. Insbesondere, weil Telex auch einmal erstellte Blöcke weiter bearbeiten lässt.

Um wirklich alle Alternativen zu zeigen, müssen natürlich auch noch die Plugins erwähnt werden, die ein UI für die Erstellung von individuellen Blöcken ermöglichen:
https://de.wordpress.org/plugins/genesis-custom-blocks/
https://de.wordpress.org/plugins/lazy-blocks/

Das war ein spannender Abend mit interessanten Exkursen zu den verschiedenen Möglichkeiten der Umsetzung von individuellen Blöcken.

Schreibe einen Kommentar