Vorbereitung auf WordPress 5.4: Änderungen, die Entwickler von Themes und Plugins kennen sollten
Veröffentlicht: 2020-03-05Mit der bevorstehenden Veröffentlichung von WordPress 5.4 ist es für Plugin- und Theme-Entwickler an der Zeit, mit dem Testen ihrer Erweiterungen zu beginnen und sicherzustellen, dass es keine Probleme gibt. Es gibt auch neue APIs für kommende Funktionen. Gestern hat das Kernteam den ersten Release Candidate für 5.4 veröffentlicht. Die offizielle Veröffentlichung ist für den 31. März geplant.
Dieser Beitrag dient als Kurzanleitung mit Links zu mehreren wichtigen Änderungen, die Entwickler in den kommenden Wochen beachten müssen. Testen Sie unbedingt Ihre Plugins und Themes.
Theme-Entwickler

Es gibt mehrere Änderungen, die Themenautoren testen möchten. WordPress 5.4 hat ein paar zusätzliche Designfunktionen. Es hat auch mehrere Markup-bezogene Änderungen, die Designdesigns am Frontend und im Blockeditor beschädigen könnten. Leider können einige dieser Änderungen für Themenautoren, die mehrere Versionen von WordPress unterstützen möchten, eine kleine zusätzliche CSS-Aufblähung bedeuten.
Soziale Symbole und Schaltflächenblöcke
WordPress 5.4 führt zwei neue Blöcke ein: soziale Symbole und Schaltflächen. Der Block für soziale Symbole ermöglicht es Benutzern, Symbole/Links für bis zu 40 verschiedene soziale Netzwerke einzufügen. Mit dem Schaltflächenblock können Benutzer mehrere Schaltflächenblöcke zusammen gruppieren. Themenautoren, die benutzerdefinierte Blockeditorstile einführen, müssen diese neuen Blöcke berücksichtigen, um sicherzustellen, dass sie korrekt ausgegeben werden.
Erstellen Sie benutzerdefinierte Verlaufsvorgaben
Die neue Verlaufs-API ermöglicht es Themenautoren, benutzerdefinierte Verlaufsvorgaben zu definieren, die Benutzer entweder mit den Gruppen- oder Schaltflächenblöcken verwenden können. Theme-Autoren müssen einige Kleinarbeit leisten, um den Schandfleck zu verbessern, der die Standard-Verlaufsvoreinstellungen sind. Mit ein wenig Arbeit können Farbverläufe ein nützliches Werkzeug sein, das dem Benutzer zur Verfügung steht. Themenautoren können Farbverläufe auch ganz deaktivieren, wenn sie sie nicht unterstützen möchten.
Markup- und Stiländerungen des Blockeditors
Themenautoren, die direkt auf bestimmte Editorklassen abzielen, müssen ihre Blockeditorstile überprüfen. Viele Klassen mit dem editor- -Präfix wurden geändert, um das block-editor- Präfix zu verwenden. Das Wrapper-Element mit der Klasse .edit-post-layout__content wurde vollständig entfernt. Mehrere Wrapper-Elemente wurden aus Blöcken und der Rich-Text-Komponente entfernt. Cores eingebaute Polsterung und negative Ränder auf Blöcken wurden umgestaltet, was eine willkommene Ergänzung ist. Vielleicht müssen Themenautoren nicht mehr gegen mehrere verschachtelte Selektoren kämpfen, um ein grundlegendes, funktionierendes Layout bereitzustellen, das zum Frontend passt.
Diese Änderungen haben bereits mehrere Themen zerstört, die ich gesehen habe. Es besteht eine gute Chance, dass viele Themenautoren ihre Block-Editor-Stile aktualisieren müssen.
Zu einer Zeit, in der das Theme Review Team mehr Theme-Autoren auffordert, Themes mit benutzerdefinierten Editor-Stilen einzureichen, sind diese Arten von Änderungen an Klassen und Markup kein Vertrauensschub. Theme-Entwickler können leicht das Gefühl haben, auf verlorenem Posten zu stehen. Es wird jedoch daran gearbeitet, das Editor-Markup näher an eine Eins-zu-eins-Übereinstimmung mit dem Frontend heranzuführen. Irgendwann können Theme-Autoren nur hoffen, dass sie sich nicht mehr mit solchen Änderungen befassen müssen, während sie Benutzer über mehrere Versionen von WordPress hinweg unterstützen. Derzeit befinden sie sich in einer etwas chaotischen Übergangsphase.
Kalender-Markup und Klassenänderungen
Das Kernteam hat das Markup der get_calendar() -Funktion geändert, was sich auch auf das Kalender-Widget auswirkt. Die Kalenderausgabe hat kein <tfoot> -Element mehr. Stattdessen wurden die Links zum vorherigen und nächsten Monat in ein <nav> -Element unterhalb des <table> -Elements verschoben.
Die Kalenderausgabe fügt auch mehrere IDs und Klassen hinzu oder ändert sie:
-
.wp-calendar-tablezum Wrapper-Element hinzugefügt. -
.wp-calendar-navwurde dem Navigations-Wrapper-Element hinzugefügt. -
.wp-calendar-nav-nextersetzt die#next-ID auf dem Link zum nächsten Monat. -
.wp-calendar-nav-preversetzt die#prevID auf dem Link des vorherigen Monats.
Dies sind Breaking Changes. Alle benutzerdefinierten CSS, die auf den alten HTML-Code oder die alten IDs ausgerichtet sind, müssen aktualisiert werden.

Entwickler blockieren

Für Plugin-Entwickler, die benutzerdefinierte Blöcke erstellen, führt WordPress 5.4 mehrere neue APIs und Tools für die Arbeit mit dem Blocksystem ein.
Gerüste blockieren
Entwickler haben ein neues NPM-Paket zum schnellen Erstellen eines Block-Plugins. Mit einem einzigen Befehl von npm init @wordpress/block <plugin-name> erstellt das Skript ein neues Verzeichnis und erstellt die entsprechenden PHP-, CSS- und JavaScript-Dateien, die zum Erstellen eines Block-Plugins erforderlich sind. Entwickler können standardmäßig moderne JavaScript-Tools verwenden oder optional eine ES5-Version verwenden.
Die Absicht des Block-Scaffolding-Pakets ist es, dass Plugin-Autoren Single-Block-Plugins erstellen, die schließlich ihren Weg in das offizielle Block-Verzeichnis finden werden.
API zum Blockieren von Sammlungen
Die API für Blocksammlungen funktioniert ähnlich wie Kategorien. Sie basieren jedoch auf Namespace. Wenn ein Plug-in-Entwickler eine benutzerdefinierte Sammlung registriert, werden alle Blöcke, die den Sammlungs-Namespace gemeinsam nutzen, unter einem benutzerdefinierten Abschnitt im Block-Inserter angezeigt. Dies scheint eine klügere Art zu sein, Blöcke zu organisieren. Es wird sicherlich nützlich für Plugins sein, die Bibliotheken von Blöcken erstellen und eine automatische Möglichkeit bieten, sie zu gruppieren.
Blockvariations-API
Die neue API für Blockvariationen ermöglicht es Blockentwicklern, im Wesentlichen Kopien von Blöcken mit einer Variation zu erstellen. Jede registrierte Variante wird als separater Block im Block-Inserter angezeigt, aus dem Benutzer auswählen können.
Ein gutes Beispiel für diese Funktion ist der neue Block für soziale Symbole. Es ist ein einziger Block mit 40 Variationen für die verschiedenen sozialen Netzwerke.
Andere entwicklerbezogene Änderungen
Es gibt ein paar andere bemerkenswerte Änderungen, die sowohl in das Gebiet der Plugin- als auch in die Themenentwicklung einfließen.
Neue Navigationsmenü-Hooks
Nachdem sie gewartet und gewartet und gewartet haben, bekommen die Entwickler endlich einige häufig nachgefragte Hooks zum Hinzufügen benutzerdefinierter Felder zum Navigationsmenü-Admin-Bildschirm und Customizer. Mindestens ein Ticket reicht 9 Jahre zurück, aber besser spät als nie. In der Vergangenheit mussten Entwickler eine benutzerdefinierte Walker-Klasse verwenden, um einige der erforderlichen Anpassungen vorzunehmen. Es konnte jedoch immer nur eine einzelne Walker-Klasse verwendet werden, was bedeutete, dass mehrere Plugins, die Änderungen vorgenommen haben, nicht zusammenarbeiten würden.
Das Kernteam hat den neuen Hook wp_nav_menu_item_custom_fields auf dem Verwaltungsbildschirm der Navigationsmenüs hinzugefügt, der vor den „Verschieben“-Schaltflächen für einzelne Menüpunkte angezeigt wird. Zur Parität mit dem Admin haben Navigationsmenüelemente ein neues wp_nav_menu_item_custom_fields_customize_template im Customizer. Diese Hooks ermöglichen es Entwicklern, benutzerdefinierte Formularfelder hinzuzufügen, die zum Hinzufügen benutzerdefinierter Daten zu Navigationsmenüelementen erforderlich sind.
apply_shortcodes() Alias-Funktion
WordPress 5.4 führt eine neue Funktion apply_shortcodes() ein. Es ist ein Alias für die Funktion do_shortcode() . Die neue Funktion bietet einen semantisch korrekteren Funktionsnamen. Im Allgemeinen erwarten Funktionen mit dem Präfix do_ eine Ausgabe oder irgendeine Art von Aktion. Funktionen mit dem Präfix apply_ erwarten die Rückgabe von Daten.
Wenn Sie ein Design oder Plugin mit Shortcode-fähigen Bereichen erstellen, sollten Sie auf die neue Funktion umsteigen. Obwohl die Funktion do_shortcode() derzeit nicht als veraltet gekennzeichnet ist, sollte dies das letztendliche Ziel sein.
