Alles geschlossen: Außer PHPStorm. Coden trotz COVID-19.

Ich teile zwar die Panik nicht, die mit dem Corona-Virus einhergehen, bin aber dennoch froh, dass ich dieser Hysterie nicht ausgesetzt bin. Ich muss weder in ein Großraumbüro noch zu irgendwelchen Veranstaltungen gehen. Damit kann ich die ganze Thematik etwas gelassener sehen. Durch meinen Verzicht auf Social-Media (kein WhatsApp, kein Facebook, kein Instagram) bin ich auch komplett von Fake-News geschützt. Ich bekomme es, wenn überhaupt, nur über Freunde und Familie mit.

Eigentlich will ich aber gar nicht so viel über den Virus teilen, nur noch eine letzte Nachricht: Wegen Corona sind so ziemlich alle WordCamps abgesagt worden. Auch das WordCamp Retreat in Soltau und das WordCamp Europe in Portugal.

Und jetzt: Lesen Sie die WordPress Entwickler News. Danach bitte weitercoden! 😉

WordPress News

WordPress 5.4 klopft schon an der Tür. Erwartet wird die neue Version Ende März. Nachfolgend schon die ersten Infos über alle Änderungen.


Ab WP 5.4 wird automatisch das WordPress-Logo als Favicon ausgegeben, falls keine favicon.ico-Datei vorhanden und kein Site-Icon-Logo hochgeladen wurde.


Der neue Editor wird (für alle Neuinstallationen) im Vollbild-Modus geladen. Diese Entscheidung hat wohl Matt Mullenweg himself (mal wieder) einfach so getroffen. Ich kann die Entscheidung aber nachvollziehen. Er will WordPress zum „Page Builder“ machen.


Block-basierte Themes sind ein Thema. Noch weiß man nicht, wie man damit umgehen soll. Denn in Zeiten von Gutenberg stellt sich echt die Frage: Brauche wir noch Themes? Das „Block-Based-Team“ sagt ja, dazu braucht es aber Leitlinien, die gerade diskutiert werden:

  • Globale Styles (und wie diese verändert werden können)
  • Full-Site-Editing Blocks
  • Semantig HTML-Tags (z.B. <main>)

Das Lazy-Loading Feature Plugin ist fertig zum Testen. Leider wird es nicht mehr Einzug in WordPress 5.4 halten (en).


TikTok-Videos können jetzt via oEmbed eingebunden werden (en). CollegeHumor embeds wurden entfernt.


Gutenberg-Änderungen im vergangenen Monat:

  • Version 7.6:
    • Vier neue Blöcke für das Full-Site-Editing: Featured Image, Tags, Anzahl der Kommentare und Kommentarformular
    • Social Icons Block
  • Version 7.7:
    • Komplett neues Design mit neuen Icons und neuen Farben
    • Design-Patterns (vorgefertigte Layouts)

Was kommt in den nächsten WordPress-Versionen? Das ist geplant:

  • Version 5.5 (August 2020):
    • Automatische Updates für Plugins und Themes
    • Navigation-Block für Gutenberg
    • Block-Verzeichnis (im WordPress Dashboard)
    • Globale Styles
    • XML-Sitemaps
    • Lazy Loading
  • Version 5.6 (Dezember 2020):
    • Widget-Editing
    • Full-Site-Editing
    • Neues Standard-Theme (2021)

WordPress Entwickler News

Hier noch ein paar Updates für alle die WordPress Entwickler:

WP 5.4 kommt mit neuen Hooks:

Zur Änderung der Favicons (siehe oben) gibt es neue Funktionen und Hooks: is_favicon(), do_favicon() sowie die Action do_favicon.


Mit WP 5.4 erhält der Gutenberg-Editor eine neue API namens „Keyobard-Shortcuts“ um die Registrierung/Entfernung und Dokumentation der verfügbaren Tastaturkürzel im Editor zu zentralisieren.


Als Theme-Entwickler sollte man unbedingt die aktuelle Diskussion um Block-basierte Themes verfolgen. Da geht einiges ab, was man wissen sollte (siehe oben, en).


Mel Choyce schrieb über „Adding block dependencies“ (en). So ein Feature könnte interessant sein, damit z.B. ungenutzte Blöcke automatisch entfernt werden, wenn man ein Theme wechselt.


Neue Hooks für Menüs im Admin-Screen:

  • wp_nav_menu_item_custom_fields
  • wp_nav_menu_item_custom_fields_customize_template

Der Filter wp_login_failed bekommt eine weitere Variable namens $error, die das WP_Error-Objekt enthält. (Quelle)


Der Filter newblog_Notify_siteadmin bekommt eine neuen Parameter $blog_id. (Quelle)


Neu hinzugekommen in WordPress 5.4 ist die Block Variations API (en).


Auch neu: Die Block-Collections API soll für mehr Übersicht im BlockInserter sorgen (en).


Blöcke (auf Basis von JavaScript) zu bauen war lange eine Herausforderung. Das wird nun einfacher und geht mit einem einzigen NPM-Befehl: npm init @wordpress/block todo-list. Das liegt am neuen Scaffolding-Paket.


Auch die REST-API bekommt ein Update:

  • In Taxonomien kann man jetzt den ODER-Operator nutzen: /wp/v2/posts?tags=1&categories=2&tax_relation=OR
  • Die Signatur der Methoden embed_links() und get_routes() der Klasse WP_REST_Server wurden verändert.

Das Theme-Review-Team hat dazu aufgerufen, experimentelle Themes einzureichen. Wer so etwas in petto hat, sollte das hier lesen.


Generelle Block-API-Updates:

  • Shortcodes lassen sich Blöcke umwandeln. Dafür gibt es ein isMatch-Attribut in der Block-Transformation (siehe Beispiel in der verlinkten Seite oben).
  • Die AsyncModeProvider API lässt sich nutzen, um Blöcke asynchron zu rendern, wenn diese gerade nicht selektiert sind.
  • Neu ist die Guide-Komponte, die es Entwicklern erlaubt, Step-by-Step Guides.
  • Es gibt viele Änderungen in der DOM-Struktur des Editors. Unter anderem wurden CSS-Klassenbezeichnungen angepasst. Alle Klassennamen, die mit editor- beginnen, heißen nun block-editor-.
  • Das data-block-Attribut wurde in der DOM-Hierarchie eine Ebene höher angesiedelt.

Mittels add_theme_support('editor-gradient-presets', []) lassen sich nun Verläufe in Themes registrieren.


Den kompletten Field Guide (alle Änderungen, die für Entwickler interessant sind) gibt es hier (en).


Mit wp-env können neben Entwicklern auch Designer und Manager schnell eine WordPress-Installation zaubern (en). Der Befehl installiert einen Docker-Container mit PHP, MySQL und allem drum und dran.


Happy Coding!

Ihr Dipl. Ing. (FH) Florian Simeth