WordPress 5.8 für Entwickler: Das ist neu

Howdy {VORNAME[std:WordPress-Liebhaber]}!

Total irre. Mein letzter WordPress-Newsletter war vom März. Da schrieb ich noch, dass es fünf Uhr morgens wäre. Im März ist es um fünf Uhr früh ganz schön dunkel gewesen. Als ich den Newsletter gestern schrieb, war es zwar nicht fünf Uhr morgens, aber ich weiß, dass es da nun hell ist. Denn mein Sohnemann will um 5:30 Uhr schon aufstehen. Und seitdem bin ich wach.

Früh aufstehen sollte auch jeder, der mit WordPress arbeitet. Morgen (Dienstag) ist es soweit. Version 5.8 steht in den Startlöchern und es hat sich wieder einiges getan. Und was sich verändert hat, steht in diesem Newsletter.

Ach ja, dass es schon früh hell ist, bedeutet auch, dass es Sommer ist. Und Sommer bedeutet für viele Menschen: Urlaub! Wenn Sie mal eine ruhige Minute haben, lehnen Sie sich zurück und lesen ein Buch. Zum Beispiel die 1% Methode von James Clear. Empfohlen von Leser und Freund Sven, den ich vor Jahren auf dem WordCamp in Frankfurt kennengelernt habe. Danke für den Tipp!

Vortrag: Strukturierte Daten am kommenden Mittwoch

Ich halte am Mittwoch einen Vortrag zu meinem Lieblingsthema Strukturierte Daten. Das Ganze findet für das WP Meetup in Dresden rein online statt. Wer dabei sein will, sollte sich bei auf der Seite bei Meetup.com eintragen. Hier die Details:

  • Auffällige Suchergebnisse — Mehr Traffic ohne Raketenwissenschaft 🚀
  • Mittwoch, 21. Juli 2021 um 19 Uhr
  • Rein online über die Zoom-App.
  • Kostenlos.

Auf einen Kaffee mit dem WP-Typ?

Über die letzten Monate habe ich mir immer wieder die Frage gestellt, was den aktuell so die TOP-Themen sind, die sich die WordPress-User „da draußen“ so stellen. Ich würde mich selbst als betriebsblind einstufen, weil ich natürlich extrem stark mit WordPress verknüpft bin. Ich arbeite seit Jahren ausschließlich jeden Tag mit dem System. Deswegen habe ich mir folgende Frage überlegt:

Stellen Sie sich vor, Sie könnten sich mit mir auf einen Kaffee zusammensitzen. Was wären die zwei Top Fragen, die Sie mir stellen würden?

Antworten Sie bitte einfach auf diese E-Mail. Diese landet dann quasi direkt auf meinem Schreibtisch.

Jetzt aber die geballte Ladung WordPress News:

WordPress News

Wie oben bereits beschrieben, soll die neue Hauptversion 5.8 von WordPress am Dienstag erscheinen. Es gab dieses Mal so viele Veränderungen, dass ich wohl nicht alle erwähnen kann. Hier aber ein großer Ausschnitt. Ein Video vom WordCamp Europe zeigt noch einmal alle Highlights von Gutenberg.


Der Widget-Bildschirm ist jetzt sozusagen „blockified“ und arbeitet auch ausschließlich mit Blöcken. Zwar werden auch ältere (Classic-) Widgets unterstützt aber man sieht, wohin die Reise geht: Alles wird zu Blöcken! Der neue Widget-Bildschirm wird standardmäßig (auch für ältere Themes) aktiviert. Es gibt aber auch eine Opt-Out-Möglichkeit (siehe WordPress Entwickler Newsletter).


Eine weitere, ganz krasse Neuerung ist die Template-Funktion in WordPress. Damit lassen sich komplette Seiten (vom Header bis zum Footer) selbst designen. Allerdings ist diese Funktion als Opt-in markiert. D.h. für ältere Themes ist diese Funktion erst einmal nicht freigeschaltet. Darüber hinaus muss man das Gutenberg-Plugin installiert haben, damit dies überhaupt funktioniert.


Aufgrund der neuen Template-Funktion gibt es zahlreiche neue Blöcke:

  • Seitentitel
  • Seiten-Untertitel
  • Seitenlogo
  • Beitragstitel
  • Post Meta Datenblöcke (z.B. Datum, Bild, Schlüsselwörter, Kategorien, etc.)
  • Archiv-Block
  • Query Loop (alias Beitragsliste)
  • Beitrags-Template
  • Paginierung

WordPress 5.8 unterstützt jetzt auch das WebP Bildformat. WebP ist ein Grafikformat für verlustbehaftet oder verlustfrei komprimierte statische oder animierte Bilder. Leider gibt es (immer noch) kein SVG-Support in der neuen Version.


Nach dem Upload eines Bildes lässt sich die URL sofort über einen entsprechenden Button kopieren. Das ist wohl nur eine sehr kleine Änderung, aber wer oft Medien hochlädt und sofort die URL braucht, weiß diese Änderung gewiss zu schätzen.


Bilder lassen sich nun mit einem Duplexdruck-Filter versehen:


Das ist wohl das erste Mal überhaupt, dass Nicht-Entwickler Zugriff auf eine solch starke Funktion bekommen. Der Query-Block ist immer dort integriert, wo sich z.B. mehrere Beiträge einfügen lassen. Zum Beispiel wenn man sich ein eigenes Blog-Layout bastelt. Mit der neuen Template-Funktion (siehe oben) lässt sich auswählen, welche Beiträge (oder auch Seiten) eingeblendet werden.


Natürlich wurden in Gutenberg auch unter der Haube wieder einige Dinge verbessert. Zum Beispiel lassen sich verschachtelte Blöcke erst dann auswählen, wenn übergeordnete Block selektiert wurde. Das führt dazu, dass man nicht plötzlich irgendwelche Blöcke markiert, die man eigentlich nicht markieren wollte.


Auch die Emojis erhalten ein Update: fünf neue Emojis halten Einzug in WordPress 5.8.


Die mit WordPress standardmäßig ausgelieferen Themes erhielten ein Update. Insbesondere die Themes TwentyTen bis TwentyFifteen.

WordPress Entwickler News

Im Field Guide steht (wieder einmal) alles, was man als WordPress Entwickler wissen muss. Hier ein Auszug:


Eine der größten Neuerungen ist wohl die sogenannte theme.json-Datei. Dabei handelt es sich um einen Mechanismus, der es erlaubt, den Editor granular einzustellen. Im Endeffekt ist es eine JSON-Datei, in der sich z.B. Farben oder Schriften einzelner Blöcke näher spezifizieren lassen.


In der theme.json-Datei lässt sich nun auch die Breite des gesamten Layouts anpassen.


Die Ausgabe des Bildformates lässt sich ab Version 5.8 über einen Hook verändern: image_editor_output_format


Wie oben bereits erwähnt, hat sich der komplette Widget-Bereich komplett verändert. Der neue Widget-Screen ist automatisch aktiv, lässt sich aber auch wieder deaktivieren. Und zwar über folgenden Befehl: remove_theme_support( 'widgets-block-editor' )


Dazu passend gibt es einen neuen Customizer-Control (WP_Sidebar_Block_Editor_Control) welcher alle Blöcke anzeigen kann, einen neuen Block namens „Legacy Widget“, welcher „alte“ Widgets anzeigen kann, sowie ein neues Widget namens „Block“. Der verlinkte Artikel oben gibt Hilfestellung zur Migration.


Die Block-Metadaten-Spezifikation dürfte nun final sein, was bedeutet, dass man ebenfalls die block.json-Datei nutzen kann um Blöcke zu definieren. Im Field Guide gibt es ein gutes Beispiel dazu. Ebenso werden die neuen Filter block_type_metadata und block_type_metadata_settings erklärt.


Fast ganz still und heimlich: Die WP-CLI wurde auf Version 2.5.0 aktualisiert und hat jetzt:

  • PHP 8 Unterstützung,
  • einen Package-Manager auf Grundlage von Composer v2,
  • neue Kommandos, um automatische Plugin-Updates einzustellen,
  • ein neues Kommando, um MO-Sprachdateien zu erstellen,
  • eine neue globale Variable WP_CLI_ALLOW_ROOT,
  • einen neuen globalen Parameter: --exec

Einen detailierteren Changelog gibt es auf der verlinkten Seite.

Block-Editor

Auch im Block-Editor (aka „Gutenberg“) gab es viele Änderungen für Entwickler. Version 10.7 wurde in WordPress integriert. Ebenso alle Fehler und Performance-Verbesserungen aus den Versionen 10.8 und 10.9.


Contextbasierte Vorlagen lassen sich jetzt über eine Art Suggest-API vorschlagen.


Knöpfe in den BlockControls lassen sich jetzt gruppieren:


In der neuen theme.json-Datei werden nun auch CSS shorthand properties unterstützt. Also so etwas wie marginLeft oder paddingRight. Zuvor war eben nur margin oder padding möglich.


Über ein remove_theme_support( 'widgets-block-editor' ); lässt sich der neue Widget-Bildschirm deaktivieren.


Themes mit Support für das neue Template-Editing können Standard-Blöcke festlegen.


Darüber hinaus gibt es zwei auf Speed optimierte Verbesserungen: Gutenberg lädt nur Styles von Blöcken, die man auf der aktuellen Seite auch tatsächlich nutzt. Und man kann Inline-Styles ergänzen. Der dafür zuständige Hook hört auf den Namen should_load_separate_core_block_assets.


Alte (so genannte „Classic“) Themes können nun auch die theme.json Datei benutzen. Siehe oben.


Da der Block Editor nun nicht mehr länger nur bei den Beiträgen und Seiten integriert ist, gibt es API-Veränderungen, was den Einbau in andere Admin-Screens angeht. Die dazu nötigen Hintergrundinformationen mit allen Funktionen sind auf der verlinkten Seite genannt.


Der Block-Editor wird jetzt in einem eigenen iFrame geladen. Das soll unter anderem dabei helfen, dass sich Admin-Styles sich nicht länger in die Quere kommen.


REST API

Aufgrund der vielen Änderungen rund um den Block-Editor mussten sich auch viele REST-API Routen anpassen. Unter anderem ist es jetzt notwendig, das show_instance_in_rest-Flag zu setzen, wenn man ein Widget initialisiert. Das signalisiert der REST-Route, dass JSON-Daten zurückgegeben werden können. Andernfalls werden die Daten mit serialize und base64 codiert zurückgegeben.


Die neuen Routen (für Widgets und Sidebars) wurden ebenfalls auf der oben verlinkten Seite erklärt.


Website-Zustand

Der „Website-Zustand“-Bildschirm wurde so überarbeitet, dass Entwickler nun ihre eigenen Tabs ergänzen können. Ein Beispiel-Code findet man auf der verlinkten Seite.


Weitere für Entwickler relevanten Änderungen

Internet Explorer 11 wird nun nicht mehr unterstützt.


Mittels timer_float lässt sich nun die komplette PHP-Laufzeit von Beginn an messen.


Die Wiederherstellung bei PHP-Fatal-Fehlern wurde aktualisiert, um nicht zu behaupten, dass eine E-Mail gesendet wurde, wenn es unmöglich war, eine E-Mail zu senden.


Mit dem neuen Filter enable_loading_object_cache_dropin lässt sich ein etwaiger Object-Cache-Dropin deaktivieren.


Um mit Plugins gleichzuziehen, gibt es nun auch (endlich) die delete_theme und deleted_theme hooks.


Ein neues Flag im Plugin-Header erlaubt einen alternativen Download-Pfad für Plugins, die sich nicht im WordPress.org-Verzeichnis befinden.


Weitere WordPress News

WordPress wurde im Mai 18 Jahre alt!


Bei InstaWP lassen sich WordPress-Testseiten schnell und einfach erstellen.


GatsbyJS ist ja mittlerweile sehr populär. Jetzt hat der Static-Site-Generator auch einen eigenen Marktplatz für WordPress Themes.


WooCommerce am 13. Juli eine automatisches Update des Plugins angestoßen. Grund war eine bisher noch nicht näher spezifizierte Sicherheitslücke.


Corvin Schwarzer hat in seiner Bachelorarbeit eine Datenanalyse des WordPress-Plugin-Verzeichnisses unternommen. Die Arbeit wurde mir zur Verfügung gestellt und ich konnte sie nun auf meiner Website veröffentlichen.


Automattic hat einen Sketch-Block-Plugin veröffentlicht. Damit lässt sich in WordPress jetzt auch direkt zeichnen.


Auch WordPress leidet unter Corona: Persönliche Meetups und andere Events waren lange Zeit nicht möglich. Jetzt soll es aber dann wieder losgehen. Dafür gibt es spezielle Regeln: Meetups sind dann möglich, wenn die entsprechende Region persönliche Treffen erlaubt und wenn die entsprechenden Regeln eingehalten werden können. Unter Umständen kann es vorkommen, dass man als Nicht-Geimpfter vielleicht nicht in ein Meetup kann.


Das populäre Plugin Jetpack hat jetzt auch eine eigene App für iOS und Android. Unter anderem unterstützt es einige Funktionen des Plugins, die die „normale“ WordPress.com-App nicht hat.


Die Killer-Nachricht im Juni war, dass Advanced Custom Fields von Delicious Brains übernommen wurde.


Die Blog-Seite von WordPress.org erhält bald ein neues Design. Es war Zeit… nicht wahr? 😉


Das war’s! Bis zum nächsten Mal!

Ihr Dipl. Ing. (FH) Florian Simeth

Meine Produkte und Lösungen

wp-kurs.com Logo

Bei wp-kurs.com finden Sie – wie der Name schon verrät – unseren WordPress-Video-Onlinekurs für Anfänger. Er hilft Ihnen dabei, WordPress von Grund auf kennenzulernen.


eBook-Cover von wp-plugin-erstellen.de

Sie fangen gerade an zu programmieren und suchen nach einer deutschsprachigen Entwickler-Dokumentation für WordPress? Dann sind Sie bei wp-plugin-erstellen.de richtig. Ein eBook verrät mit vielen Beispielen, wie sich eigene Plugins für WordPress erstellen lassen. Es wird derzeit monatlich aktualisiert und erweitert.


Sie sind kein Entwickler wollen aber trotzdem alle WordPress-News erhalten? Entscheiden Sie sich stattdessen für meinen WordPress-Newsletter (für Nicht-Entwickler).