WordPress 5.3 „Kirk“ wurde am 12. November 2019 offiziell veröffentlicht und steht zum Download bereit.

Was hat sich also mit WordPress 5.3 geändert?

In erster Linie wurde eine unglaubliche Anzahl von Versionen des Gutenberg-Plugins in den Core integriert, von 5.4 bis 6.6. Das bedeutet eine Vielzahl von Funktionen und Verbesserungen für Anwender und Entwickler sowie eine wichtige Leistungssteigerung.

Aber es gibt noch viel mehr als Gutenberg in WordPress 5.3. So bietet diese Version verschiedene Verbesserungen im Zusammenhang mit dem Site Health Tool, ein brandneues Standard-Theme (TwentyTwenty), Verbesserungen in der Admin-Benutzeroberfläche, bessere Unterstützung für PHP 7.4, verbesserte Zugänglichkeit und mehr.

Das ist eine Menge erstaunliches Zeug, oder? Also, schnallen wir uns an und stöbern weiter in WordPress 5.3.

Was ist Neu am Blockeditor?

Seit seiner Einführung wurde der Blockeditor dank des Engagements von Mitwirkenden aus der ganzen Welt regelmäßig verbessert. Neue Releases werden jedoch nicht in den Core integriert, sobald sie verfügbar sind.

Mit 5.3 wurden dreizehn Versionen des Gutenberg-Plugins auf einmal in den Core eingebunden. Wenn du also das Gutenberg-Plugin bisher nicht benutzt hast und es nicht regelmäßig aktualisiert hast, wirst du mit der Veröffentlichung von WordPress 5.3 eine Menge Verbesserungen und neue Funktionen im Block-Editor finden.

Es wurden auch allgemeine Leistungssteigerungen gemeldet. Der folgende Benchmark vergleicht die Leistungen für einen großen Beitrag (36.000 Wörter/1.000 Blöcke) mit verschiedenen Versionen des Gutenberg-Plugins.

Du wirst vielleicht nicht den Unterschied in der Ladezeit bei normalen Beiträgen bemerken, aber es ist ganz klar die allgemeine Verbesserung der Leistung des Editors.

Version Ladezeit KeyPress-Ereignis (Eingabe)
Gutenberg 6.6.0 4.7s 38.96ms
Gutenberg 6.5.0 4.68s 42.96ms
WordPress 5.2 5.69s 57.65ms

Es wäre schwierig, eine vollständige Liste aller Neuerungen, Änderungen und Bugfixes zu erstellen, also haben wir diejenigen mit den größten Auswirkungen auf die Benutzer-/Entwicklererfahrung ausgewählt und wie folgt gruppiert:

Verbesserungen in der Bearbeitungsumgebung

Wenn du das Gutenberg-Plugin noch nie installiert hast, findest du einen brandneuen Block: den Gruppenblock. Der Gruppenblock, der mit Gutenberg 5.5 in den Editor aufgenommen wurde, ist ein universeller Container für andere Blöcke, mit dem du erweiterte Blockvorlagen erstellen kannst, die auf jeder Seite deiner WordPress-Website enthalten sein können.

Der neue Gruppenblock unterstützt breite Ausrichtungen und Hintergrundfarben und gibt WordPress-Anwendern viel Freiheit bei der Erstellung von Inhalten.

Neben dem Gruppenblock haben wir uns zehn Verbesserungen im Blockeditor angesehen, die einen großen Einfluss auf die Bedienung des Editors haben sollten.

1. Der Block Appender

Die Blöcke Group und Columns zeigen nun einen Blockappender im leeren Zustand. Der Appender ist nur eine Grauzone mit einem Pluszeichen im Inneren, das die Benutzeroberfläche übersichtlicher macht und die Blockbenutzbarkeit verbessert.

Ein leerer Gruppenblock in WordPress 5.3
Ein leerer Gruppenblock in WordPress 5.3

2. Gruppierung von Blöcken nach Gruppeninteraktion

Du kannst nun Gruppenblöcke durch Interaktion mit der Gruppe erstellen, was bedeutet, dass du mehrere Blöcke auswählen und mit nur wenigen Klicks gruppieren kannst. Du musst nur alle Blöcke, die du brauchst, zur Auswahl hinzufügen und dann auf Gruppe im Ellipsenmenü klicken. Erledigt!

Erstellen von Blöcken durch Gruppeninteraktion
Erstellen von Blöcken durch Gruppeninteraktion

3. Benutzerdefiniert mit Spalten

Der Spaltenblock unterstützt nun ein Schieberegler in den Blockeinstellungen, mit dem du eine benutzerdefinierte Breite für jede Spalte einstellen kannst (in einer zukünftigen Version können wir weitere Verbesserungen am Spaltenblock erwarten, mit der Einführung eines verschiebbaren Größenänderungs-Steuerelements).

Der Spaltenblock in WordPress 5.3
Der Spaltenblock in WordPress 5.3

4. Ein Layout-Picker für Spaltenblöcke

Eine weitere Verbesserung des Columns-Blocks in WordPress 5.3 ist der Layout-Picker. Diese Funktion, die dem Editor mit Gutenberg 6.0 hinzugefügt wurde, ermöglicht es dem Benutzer, aus mehreren vordefinierten Layouts (Mustern) auszuwählen oder zum Standardlayout zu wechseln, was den Bearbeitungsprozess ein wenig beschleunigt und den Block für weniger technisch versierte Benutzer einfacher zu bedienen macht.

Der Block-Layout-Picker Spalten
Der Block-Layout-Picker Spalten

Der Layout-Picker ist eine Implementierung der Block Patterns API, die eine Möglichkeit bietet, zwischen einem vordefinierten Satz von Optionen zu wählen, aus denen beim Hinzufügen eines Blocks ausgewählt werden kann. Neben dem Block Spalten finden wir Beispiele für Blockmuster in den Blöcken Tabelle und Deckblatt. Du kannst mehr über die Block Patterns API auf GitHub lesen.

Das Cover Block Muster
Das Cover Block Muster

5. Verbesserungen am Tabellenblock

Der Tabellenblock wurde um einige neue Funktionen erweitert. Er unterstützt nun Textausrichtungen in Spalten, Tabellenkopf und -fuß sowie Hintergrundfarben.

Der neue Tabellenblock
Der neue Tabellenblock unterstützt Textausrichtungen, Kopf- und Fußzeilen sowie Hintergrundfarben.

6. Blocknavigationsmodus

Gutenberg 6.3 führte den Navigationsmodus ein, um mit Tab oder Pfeiltasten zwischen Blöcken zu navigieren, ohne in den Blockinhalt zu gelangen. Benutzer können vom Navigationsmodus in den Bearbeitungsmodus und zurück wechseln, indem sie einfach auf Enter oder Esc drücken. Diese Funktion ist eine große Verbesserung der Benutzerfreundlichkeit, insbesondere bei Screenreadern.

7. Bewegung zu Blockänderungen Hinzugefügt und Umstellungen

Eine weitere Verbesserung der Benutzerfreundlichkeit ergibt sich durch die Einführung von Motion zum Blockieren von Änderungen, Erstellen, Entfernen und Neuordnen. Matías Ventura erklärt, warum dieses Merkmal relevant ist:

„Betrachten Sie den Fall einer Liste, die eine Reihe von Elementen enthält: Die Aktion des Verschiebens, der Neuordnung usw. wirkt sich nicht nur auf das einzelne Element aus, das bearbeitet wird, sondern auch auf den Rest der Gruppe, insbesondere auf das, mit dem es „die Plätze tauscht“. Die Realität vermittelt uns, dass sich beide Dinge bewegen müssen, um etwas an die Stelle von etwas anderem zu setzen. Die Änderung des Gesamtzustandes für die gesamte Gruppe kann schwieriger zu erfassen sein, wenn man nur die Reihenfolge sofort ändert. Es dauert einen Moment, um sich neu zu orientieren. Übergänge und gestenbasierte Interaktionen helfen im Allgemeinen, diese beiden Zustände so zu verbinden, dass die Interaktion (das „was gerade passiert ist“) unmittelbarer verständlich wird.“

Block Motion
Block Motion

8. Inline-Bildumordnung in Galeriesätzen

Der Gallery-Block wurde um die Inline-Bildreihung erweitert. Wir können nun Bilder in der Galerie mit einem einfachen Klick auf die Schaltflächen Bild vorwärts und Bild rückwärts verschieben neu anordnen, ohne den Medienmodalbildschirm zu öffnen.

Der verbesserte Galerie-Block
Der verbesserte Galerie-Block

9. Verbesserungen im Block Neueste Beiträge

Der Latest Posts-Block unterstützt jetzt Auszüge und die Wiederholung des Inhalts von Posts. (siehe Pull #14627).

Latest Posts widget
Das Latest Posts Widget unterstützt Auszüge und Postinhalte.

Das Fenster mit den Blockeinstellungen enthält nun einen Abschnitt, in dem der Benutzer den Inhalt der Beiträge ein- und ausschalten kann. Wenn Post Content aktiv ist, kannst du zwischen den Optionen Excerpt und Full Post wählen. Schließlich kannst du mit einem Schieberegler die Länge der Auszüge steuern, wenn Auszug aktiviert ist.

Diese letzte Änderung ist Teil einer breiteren Strategie, die sich auf allgemeine Verbesserungen der Benutzeroberfläche konzentriert. In Iterationen zum Block „Latest Posts“ erklärt Mel Choyce:

„In Vorbereitung auf die Arbeit an Seitenvorlagen in Gutenberg werden wir einen robusten Satz dynamischer Blöcke benötigen, die in jeden Beitrag oder jede Seite eingefügt werden können. Die Erweiterung dieses Blocks wird uns in eine bessere Position bringen, um in Zukunft komplexere dynamische oder globale Blöcke anzugehen.

Benutzer sollten nicht wissen müssen, wie man benutzerdefinierte Abfragen schreibt oder die Schleife verstehen, um einige Beiträge zu ihrer Homepage hinzuzufügen. Der Block Recent Posts ist ein guter Anfang, aber um eine voll funktionsfähige Lösung zu sein, muss er mehr als Titel und Postdaten unterstützen.“

10. Listen Block Verbesserung

Listenblöcke unterstützen nun auch Einrück-/Ausrückverknüpfungen, Startwert und Unterstützung der umgekehrten Reihenfolge für geordnete Listen.

Listeneinstellungen
Geordnete Listeneinstellungen im Listenblock

Weitere Verbesserungen im Blockeditor

Aufgrund der großen Anzahl von Gutenberg-Plugin-Versionen, die in den Core integriert werden, gibt es eine Vielzahl von Änderungen, Verbesserungen und Bugfixes, die wir hier nicht einmal erwähnen konnten. Einige zusätzliche Verbesserungen und neue Funktionen umfassen:

Interessante Funktionen für Themeentwickler und Designer

WordPress 5.3 erweitert den Blockeditor um viele Funktionen und Verbesserungen für Themeentwickler und Designer.

Drei wesentliche Änderungen betreffen Themedesigner und beziehen sich auf das CSS und HTML mehrerer Blöcke.

1. Gruppenblock Innencontainer

Der Gruppenblock enthält nun einen Innencontainer (wp-block-group__inner-container), der sich ohne sorgfältige Planung über den Hauptblockcontainer hinaus erstrecken könnte. Dies kann zu unerwarteten Auswirkungen auf das Aussehen der Seite führen.

Gruppiere den inneren Container des Blocks
Gruppiere den inneren Container des Blocks im Blockeditor.

Daher kann ein Block-Container mit Themes, die ein breites und vollständiges Alignments-Styling unterstützen, einige zusätzliche CSS benötigen, damit er wie erwartet erscheint.

Gruppenblock Innencontainer
Gruppenblock Innencontainer auf der Frontseite

Hier ist ein Beispiel aus dem Make WordPress Core Blog, das zeigt, wie man Blöcke stylen kann, um diese Art von Problemen zu vermeiden:

// Apply entry-content styles to the group block's inner container as well. 
.entry-content,
.wp-block-group__inner-container {
	width: 60vw;
	margin: 0 auto;
}
 
// When a group block has a wide alignment, make sure that its full-width children do not extend beyond the width of the container. 
.alignwide,
.wp-block-group.alignwide .alignfull {
	margin-left: -10vw;
	width: 80vw;
}
 
.alignfull {
	margin-left: -20vw;
	width: 100vw;
}
 
// Ensure wide and full-width children do not extend beyond the width of a standard-aligned Group block.
.wp-block-group:not(.alignwide):not(.alignfull) * {
	max-width: 100%;
	margin-left: 0;
}

2. Neue Klassennamen für Textausrichtungen

Vor WordPress 5.3 wurden Inline-Stile verwendet, um die Ausrichtung von Textblöcken zu ändern (Überschrift, Absatz, Zitat und Vers).

Die hohe Spezifität der Inline-Stile könnte es schwierig machen, das Aussehen dieser Blöcke anzupassen. Aber Theme-Designer können jetzt die Vorteile von drei neuen CSS-Klassen nutzen, die Inline-Stile ersetzen:

  • has-text-align-right
  • has-text-align-center
  • has-text-align-left

Bestehende Blöcke werden automatisch konvertiert und die Klassen angewendet, sobald Beiträge geöffnet und im Blockeditor gespeichert werden.

3. Aktualisierung des Galerieblocks und der Tabellenblockmarkierung

Galerie- und Tabellenblöcke werden nun in figure-elemente eingepackt. Die Elementformate ändern sich entsprechend, so dass Themes betroffen sein können und ein Update erforderlich sein kann. Hier ist das neue Markup für einen Tabellenblock:

<figure class="wp-block-table is-style-stripes">
	<table class="">
		<tbody>
			<tr>
				<td>Left</td>
				<td>Center</td>
				<td>Right</td>
			</tr>
		</tbody>
	</table>
</figure>

Weitere Informationen zu Klassennamen und zusätzlichen themebezogenen Änderungen findest du im Blog von Make WordPress Core.

Funktionen für Blockentwickler

WordPress 5.3 bringt Änderungen und Verbesserungen an den Block-APIs.

1. Blockstile Registrieren und Deregistrieren

Vor 5.3 mussten Entwickler und Designer etwas JavaScript schreiben, um Styles zu registrieren/abzumelden.

Mit der Veröffentlichung von WordPress 5.3 können wir nun zwei neue Hilfsfunktionen nutzen, die es uns ermöglichen, Blockstile über PHP zu registrieren und zu deaktivieren: register_block_style und unregister_block_style.

Die Funktion register_block_style registriert einen neuen Stil für den angegebenen Block. Die Funktion behält zwei Argumente:

  • der Name des Blocks.
  • eine Reihe von Style-Eigenschaften.

Das Array kann die folgenden Parameter beinhalten:

  • name: (erforderlich) eine eindeutige Kennung für den Style.
  • label: (erforderlich) menschenlesbares Label.
  • inline_style: (optional) einen CSS-Code, der die CSS-Klasse für den Style registriert.
  • style_handle: (optional) ein Handle zu einem bereits registrierten Style (das Style-Handle reiht den Style dort ein, wo er benötigt wird).

Wir können Inline-Stile mit so etwas wie dem folgenden Code registrieren:

add_action( 'init', 'register_custom_block_style' ); 

function register_custom_block_style() {
	if( ! function_exists( 'register_block_style' ) ) return;

	register_block_style(
		'core/quote',
		array(
			'name'			=> 'blue-quote',
			'label'			=> __( 'Blue Quote' ),
			'inline_style'	=> '.wp-block-quote.is-style-blue-quote { color: blue; }',
		)
	);
};

Der neue Style ist nun im Bereich Styles settings verfügbar.

Ein Zitat mit einem benutzerdefinierten Stil im Blockeditor
Ein Zitat mit einem benutzerdefinierten Stil im Blockeditor

Anstatt einen Inline-Stil zu registrieren, können wir ein Handle an einen zuvor registrierten Stil übergeben:

wp_register_style( 'custom-style', get_template_directory_uri() . '/custom-style.css' );
 
register_block_style(
	'core/quote',
	array(
		'name'			=> 'custom-quote',
		'label'			=> 'Custom Quote',
		'style_handle'	=> 'custom-style',
	)
);

Das folgende Bild zeigt das im obigen Beispiel registrierte blaue Zitat.

Ein Zitat mit einem benutzerdefinierten Stil am Frontend
Ein Zitat mit einem benutzerdefinierten Stil am Frontend

Um einen Style, der zuvor mit register_block_style auf dem Server registriert wurde, zu deregistrieren, können wir die Funktion unregister_block_style verwenden.

Wir können unregister_block_style wie folgt verwenden:

unregister_block_style( 'core/quote', 'custom-quote' );

2. Blockbeispiel API

WordPress 5.3 fügt eine neue JS-Eigenschaft hinzu, die es ermöglicht, den ausgewählten Block aus der Bibliothek vorab zu betrachten, bevor er dem Inhalt hinzugefügt wird.

Wir können Unterstützung für diese Funktion hinzufügen, indem wir die example Eigenschaft in den Blockeinstellungen wie folgt definieren:

const blockSettings = {
	// ... 
 
	example: {
		attributes: { 
			content: __( 'Content of the block' )
		},
		innerBlocks: []
	} 
}
registerBlockType( name, settings );
Beispiel Block API
Beispiel Block API

Verbesserungen an der Site Health Komponente

WordPress 5.2 führte das Tool Site Health ein, um Informationen über den Zustand einer Website bereitzustellen und den Administratoren der Website zu helfen, ihre Websites bei technischen Problemen wiederherzustellen. Mit der Veröffentlichung von WordPress 5.3 erhält das Site Health Tool mehrere Verbesserungen und Änderungen auf beiden Seiten der Komponente.

1. Die Einstufung der Gesundheit der Website Wurde Entfernt

In WordPress 5.2 wurde oben auf der Statusseite von Site Health eine prozentuale Punktzahl angezeigt. Einige Leute äußerten jedoch einige Bedenken bezüglich der Punktzahl, die sie für zweideutig und verwirrend halten, da die Benutzer darauf abzielen könnten, eine 100% ige Punktzahl über dem zu erreichen, was für ihre Website das Beste ist (mehr in diesem Ticket).

Site Health Status Site in WordPress 5.2
Site Health Status Site in WordPress 5.2

Der Indikator zeigt an, wie viele Tests eine Website bestanden hat, nicht aber ihren Grad an „Gesundheit“. Aus diesem Grund wurde der Prozentsatz entfernt und das Tool Site Health zeigt nun einen von zwei Zuständen, die eher als Erinnerungen denn als präzise Indikatoren für die Leistung und Sicherheit einer Website angesehen werden können:

  • Sollte verbessert werden
  • Gut
Site Health Status Seite in WordPress 5.3
Site Health Status Seite in WordPress 5.3

2. Verbesserte Wiederherstellung von E-Mails

Wenn ein Fehler auftritt, versucht WordPress, eine Wiederherstellungs-E-Mail an den Seitenadministrator zu senden. Leider liefern diese E-Mails keine nützlichen Informationen für das Debugging, und wir werden nur darüber informiert, dass etwas mit unserer Website schief gelaufen ist.

Um weitere nützliche Informationen für die Wiederherstellung deiner WordPress-Website bereitzustellen, führt WordPress 5.3 den Filter recovery_email_debug_info ein, der eine Reihe von Debugging-Informationen enthält. Die Wiederherstellungs-E-Mail enthält nun die grundlegenden Informationen, die dir helfen sollen, Probleme mit deiner Website zu lösen oder zumindest Hilfe von anderen zu erhalten.

Fehler-E-Mails enthalten einen zusätzlichen Abschnitt, der mit der folgenden Zeichenkette beginnt:

When seeking help with this issue, you may be asked for some of the following information:

Anschließend werden die folgenden Informationen bereitgestellt:

  • WordPress-Version.
  • PHP-Version.
  • Aktuelles Theme und Version.
  • Der Name und die Version des Plugins, das das Problem verursacht.

Die Informationen werden absichtlich auf ein Minimum reduziert, um Verwirrung für die Endbenutzer zu vermeiden, aber Entwickler können den Filter recovery_email_debug_info verwenden, um bei Bedarf weitere Details hinzuzufügen (siehe Ticket #48090 für weitere Informationen).

3. Filter für Abgeschlossene Zustandsprüfungen der Seite

Der neue Filter site_status_test_result ermöglicht es Entwicklern, die Ausgabe eines abgeschlossenen Statustests zu filtern, um das Ergebnis eines Tests zu erweitern.

Entwickler können diesen Filter auch verwenden, um zusätzliche Aktionen bereitzustellen. Hier ist ein großartiges Beispiel für die Verwendung (siehe Ticket #47864):

„Ein Beispiel könnte ein Hosting-Provider sein, PHP-Erweiterungen fehlen, so dass sie einen aktiven Link zum PHP-Erweiterungsmanager ihres Control Panels hinzufügen.
Vielleicht wollten sie direkter sein, sie wollten die PHP-Versionsprüfung, die dem Benutzer ein Update empfiehlt, sie fügen einen Ajax-Button hinzu, der die PHP-Version für sie vor Ort umschaltet.“

Dieser Filter ist sowohl in PHP für direkte Tests als auch als JavaScript-Implementierung für asynchrone Tests verfügbar.

Verbesserungen der Admin-Erfahrung

Neben dem Site Health Tool bringt WordPress 5.3 mehrere Admin UI-Verbesserungen, die das Gesamterlebnis des gesamten WordPress Dashboards erheblich verbessern sollen.

1. Verbesserter Farbkontrast

Der Farbkontrast wurde verbessert und viele Probleme mit der Zugänglichkeit wurden behoben.

Beitragsbildschirm in WordPress 5.2
Beitragsbildschirm in WordPress 5.2
Beitragsbildschirm in WordPress 5.3
Beitragsbildschirm in WordPress 5.3

2. Admin E-Mail-Verifizierung

Eine Admin-E-Mail-Verifizierung wird nun ausgelöst, nachdem sich ein Admin über einen längeren Zeitraum nicht angemeldet hat. Standardmäßig ist dieses Intervall auf sechs Monate festgelegt, aber Entwickler können mit dem Filter admin_email_check_interval ein anderes Intervall einstellen (siehe Tickets #46349 und #48144).

Überprüfung der E-Mail des WordPress-Administrators
Überprüfung der E-Mail des WordPress-Administrators

Zum Deaktivieren der administrativen E-Mail-Prüfungen können Sie den folgenden Filter verwenden:

add_filter( 'admin_email_check_interval', '__return_false' );

3. Fortsetzen des Uploads

Das Hochladen großer Bilder von einem Smartphone wird die Dinge in der Mitte des Prozesses nicht stören, da WordPress nun die Wiederaufnahme von Uploads unterstützt, wenn sie fehlschlagen.

4. Bildrotation

Bilder werden nun beim Hochladen entsprechend den EXIF-Orientierungs-Metadaten korrekt gedreht.

Ein Brandneues Standard-Theme: Twenty Twenty

WordPress 5.3 wird mit einem brandneuen Standard-Theme geliefert: Twenty Twenty. Es handelt sich um ein minimales Design, das auf Flexibilität, Klarheit und Lesbarkeit ausgelegt ist, mit einem starken Fokus auf den Blockeditor.

Twenty Twenty WordPress Theme
Twenty Twenty WordPress Theme

Twenty Twenty wurde auf einem bestehenden kostenlosen Theme der Community, Chaplin von Andérs Noren, aufgebaut und zeichnet sich durch eine kostenlose und Open-Source-Schrift mit starker Persönlichkeit aus: Inter von Rasmus Andersson.

Du kannst mehr über Twenty Twenty in unserem ausführlichen Blogbeitrag lesen: Twenty Twenty: Eine Einführung in das neue Standard WordPress Theme.

Änderungen für WordPress-Entwickler

WordPress 5.3 enthält mehrere Änderungen und Verbesserungen für WordPress-Entwickler. Unter den vielen Änderungen sind diese unserer Meinung nach erwähnenswert:

Verbesserungen der Datums-/Zeitkernkomponenten

Die Kernkomponente Datum/Zeit beschäftigt sich mit allem, was mit Datum, Uhrzeit und Zeitzonen in WordPress zu tun hat. Wie Andrey „Rarst“ Savchenko erklärt:

„Die Datums-/Zeitkomponente basierte auf dem sogenannten „WordPress Zeitstempel“ – einer Summe aus Unix-Zeitstempel mit einem Zeitzonenversatz. Dies verursachte viele Fehler und mangelnde Interoperabilität mit Upstream-PHP oder anderen externen Systemen. Inline-Dokumentation, die fälschlicherweise als Unix-Zeitstempel bezeichnet wird.“

Während es unmöglich war, WordPress-Timestamps ohne Rückwärtskompatibilitätsprobleme vollständig zu entfernen, wurde der Komponentencode mit mehreren Bugfixes verbessert und die Inline-Dokumentation wurde aktualisiert und bei Bedarf korrigiert.

Darüber hinaus haben wir mit der Veröffentlichung von WordPress 5.3 Zugriff auf mehrere neue API Datum/Uhrzeit-Funktionen:

  • wp_timezone_string() – Diese Funktion ruft die Zeitzone der Website als Zeichenkette ab. Es könnte PHP Zeitzonenzeichenkette oder einen ±HH:MM Offset zurückgeben.
  • wp_timezone() – Diese Funktion ruft die Zeitzone der Website als DateTimeZone Objekt ab.
  • wp_date() – Dies ist eine neue Funktion zur Datumslokalisierung. Es ist beabsichtigt date_i18n() zu ersetzen.
  • current_datetime() – Diese Funktion ruft die aktuelle Uhrzeit als DateTimeImmutable Objekt mit der Zeitzone aus den Einstellungen ab.
  • get_post_datetime() – Ruft das Objekt DateTimeImmutable ab.
  • get_post_timestamp() – Ruft die Postzeit als Unix-Zeitstempel ab.

Alle diese Funktionen sind in wp-includes/functions.php definiert und dokumentiert..

Die Verwendung von current_time(), get_post_time() und date_i18n()wird nun nicht mehr empfohlen.

Siehe auch Verbesserungen der Datums-/Zeitkomponente in WordPress 5.3 und Neue Funktionen, die der API auf GitHub hinzugefügt werden können.

Neues aria-current Attribut

Wenn eine neue Seite oder ein neuer Beitrag veröffentlicht wird, erscheint ihr Name in mehreren Menüs und Widgets. Vor WordPress 5.3 hätten viele Benutzer diesen Link nicht erkannt und dies hätte vor allem für Anwender mit Behinderungen und/oder Screenreader-Benutzer verwirrend sein können.

Mit der Veröffentlichung von WordPress 5.3 wurde ein neues Attribut aria-current="page" programmgesteuert hinzugefügt, um Links auf die gleiche Seite hinzuweisen, und die Entwickler von Themes werden ermutigt, diesen Links spezifische Styles hinzuzufügen. Diese Änderung betrifft die folgenden Kernwidgets:

  • Neueste Beiträge.
  • Navigationsmenü.
  • Seiten.
  • Kategorie.
  • Archive.

Hier ist ein Anwendungsbeispiel:

a[aria-current] {
	/* CSS styles for current link */
}

Neue Attribute des Arie-Labels in den Navigationsmenüs

Landmarks bieten eine leistungsstarke Möglichkeit, die Organisation und Struktur einer Webseite zu identifizieren“ und ermöglichen es Themeentwicklern, Unterstützung für die Tastaturnavigation in Webseiten mit Landmarkrollen hinzuzufügen.

ARIA Landmarks bieten einen Kontext für Webinhalte und sind besonders nützlich für Benutzer von Hilfstechnologien.

Aufgrund der Bedeutung von ARIA Landmarks für die Barrierefreiheit bietet WordPress 5.3 nun Unterstützung für aria-label-Attribute in der Beitrags- und Kommentar-Navigation.

Themeentwickler und Designer können ARIA-Landmarks zu den Navigationsmenüs für Beiträge und Kommentare hinzufügen, indem sie den folgenden Funktionen einen neuen aria_label-Parameter hinzufügen:

  • _navigation_markup()
  • get_the_post_navigation()
  • get_the_posts_navigation()
  • get_the_posts_pagination()
  • get_the_comments_navigation()
  • get_the_comments_pagination()
  • the_post_navigation()
  • the_posts_navigation()
  • the_posts_pagination()
  • the_comments_navigation()
  • the_comments_pagination()

Mehr über die Attribute von aria-label in Beiträgen und Kommentaren findest du unter Make WordPress Core.

Funktionen zum Hinzufügen von UGC-Werten zu relativen Attributen in Links

Bereits im September 2019 kündigte Google zwei neue Attribute an, die eine Möglichkeit bieten, die Art der Links zu identifizieren: rel="sponsored" und rel="ugc":

„rel=“ugc“: UGC steht für User Generated Content, und der Wert des Attributs ugc wird für Links innerhalb von User Generated Content, wie Kommentare und Forenbeiträge, empfohlen.“

WordPress 5.3 bietet Unterstützung für das Attribut rel="ugc" in Kommentaren. Diese Änderung wurde in wenigen Stunden umgesetzt und es ist interessant zu sehen, wie schnell das Entwicklungsteam auf die Ankündigung von Google reagiert hat (siehe Ticket #48022).

Darüber hinaus stellt WordPress 5.3 zwei neue Funktionen vor, mit denen Entwickler nofollow– und ugc-Werte zu rel-Attributen in Links hinzufügen können:

  • wp_rel_callback() wird verwendet, um Werte zu rel-Attributen zu angegebenen Links hinzuzufügen, und ersetzt die nun veraltete Funktion wp_rel_nofollow_callback().
    Die Funktion ist in wp-includes/formatting.php definiert:
    /**
    	 * Callback to add a rel attribute to HTML A element.
    	 *
    	 * Will remove already existing string before adding to prevent invalidating (X)HTML.
    	 *
    	 * @since 5.3.0
    	 *
    	 * @param array  $matches Single match.
    	 * @param string $rel     The rel attribute to add.
    	 * @return string HTML A element with the added rel attribute.
    	 */
    	function wp_rel_callback( $matches, $rel ) {}
  • wp_rel_ugc() fügt sowohl nofollow a ls auchugc Werte zu rel Attributen in Links hinzu.
    Die Funktion ist in wp-includes/formatting.php definiert:
    /**
    		 * Adds `rel="nofollow ugc"` string to all HTML A elements in content.
    		 *
    		 * @since 5.3.0
    		 *
    		 * @param string $text Content that may contain HTML A elements.
    		 * @return string Converted content.
    		 */
    		function wp_rel_ugc( $text ) {
    			// This is a pre-save filter, so text is already escaped.
    			$text = stripslashes( $text );
    			$text = preg_replace_callback(
    				'||i',
    				function( $matches ) {
    					return wp_rel_callback( $matches, 'nofollow ugc' );
    				},
    				$text
    			);
    			return wp_slash( $text );
    		}

So können Entwickler von nun an rel="nofollow ugc"-Attribut zu Links wie folgt hinzufügen:

$link = 'User generated link example';
$ugc_link = wp_rel_ugc( $link );
echo $ugc_link;
// output: User generated link example

Die REST-API in WordPress 5.3

WordPress 5.3 bringt mehrere Änderungen und Verbesserungen an der REST-API.

Eine der relevantesten Änderungen ist die Unterstützung der Datentypen 'object' und 'array' für register_meta-Funktionen.

Mit dieser Erweiterung unterstützt die REST-API nun auch komplexe Metadatentypen. Dies ermöglicht es uns, die API für die Durchführung schemabasierter Validierungen zu verwenden und könnte die Interaktion mit komplexen Werten vereinfachen und es Entwicklern letztendlich ermöglichen, komplexe metabasierte Blöcke über die REST-API zu erstellen.

Einen detaillierteren Überblick über dieses Thema findest du unter WP 5.3 unterstützt Objekt- und Array-Meta-Typen in der REST-API.

Eine zweite signifikante Verbesserung betrifft den _fields-Parameter, der es ermöglicht, die Felder zu begrenzen, die in den von der REST-API zurückgegebenen JSON-Objekten enthalten sind. Siehe folgendes Beispiel:

/wp/v2/posts?_fields=id,title,author

Seit WordPress 5.3 kann der Parameter _fields verwendet werden, um das REST-API-Antwortobjekt nach verschachtelten Feldern zu filtern, so dass wir nach bestimmten meta-feldern oder Eigenschaften innerhalb eines komplexen Objekts fragen können. Wir können den Parameter _fields wie folgt verwenden:

?_fields=meta.meta-key-1,meta.meta-key-2,meta.meta-key-3.nested-prop

Einen umfassenderen Überblick über die mit WordPress 5.3 eingeführten Verbesserungen der REST-API findest du unter Die REST-API in WordPress 5.3.

So Aktualisierst du auf WordPress 5.3

WordPress 5.3 wurde am 12. November 2019 veröffentlicht. Du kannst den untenstehenden Anweisungen folgen, wie du deine Seite aktualisieren kannst.

Da jede Seite eines Kunden anders ist, solltest du immer die Standard-Staging-Umgebung verwenden, die Kinsta bietet (oder eine neue Premium-Staging-Umgebung hinzufügen, wenn deine bestehende Staging-Umgebung bereits verwendet wird). Du kannst deine Live-Site in Sekundenschnelle klonen und WordPress 5.3 mit deinem bestehenden Theme und deinen Plugins testen, um die Kompatibilität zu überprüfen. Du kannst natürlich auch ein manuelles Backup machen, bevor du deine Live-Site aktualisierst, nur um sicher zu sein.

Um WordPress auf 5.3 zu aktualisieren, klicke einfach auf das Aktualisierungssymbol in deinem WordPress Admin-Dashboard. Und klicke auf die Schaltfläche „Jetzt aktualisieren“. Während deine Website aktualisiert wird, befindet sie sich im Wartungsmodus. Sobald deine Updates abgeschlossen sind, wird deine Seite wieder normalisiert.

Aktualisierung auf WordPress 5.2 im Dashboard
Aktualisierung auf WordPress 5.2 im Dashboard

Solange alles gut läuft mit dem Update, solltest du dann den Bildschirm „Welcome to WordPress 5.3“ sehen. Und das ist es! Schnell und einfach.

WordPress 5.3 Willkommensbildschirm
WordPress 5.3 Willkommensbildschirm

Nachdem du im Dashboard herumgeklickt hast, erhältst du auch eine Meldung, dass du deine Datenbank auf die neueste Version aktualisieren musst. Klicke einfach auf die Schaltfläche „WordPress-Datenbank aktualisieren“ und du bist startklar.

Datenbank-Update erforderlich
Datenbank-Update erforderlich

Fehlerbehebung bei Problemen mit WordPress Update

Wann immer Leute eine Hauptversion von WordPress aktualisieren, gibt es immer einige, die Probleme haben, und das liegt an den Tausenden von verschiedenen Plugins und Themes, die derzeit auf dem Markt nebeneinander existieren. Hier sind einige Möglichkeiten, um häufige Probleme zu beheben.

  • Möglicherweise ist deine Website noch teilweise im Cache. Du kannst dies beheben, indem du den Ganzseiten-Cache auf deiner WordPress-Seite leerst.
  • Versuche, alle deine Plugins zu deaktivieren, um zu sehen, ob das dein Problem behebt. Dann reaktiviere sie nacheinander, bis du herausfindest, welches Plugin ein Update vom Entwickler benötigt.
  • Versuche, zu einem Standard-WordPress-Theme zu wechseln, z.B. Twenty Twenty. Wenn dies dein Problem behebt, solltest du dich vielleicht an deinen Theme-Entwickler wenden.
  • Behebe und diagnostiziere JavaScript-Probleme in deinem Browser.

Zusammenfassung

Wir haben die interessantesten Funktionen und Verbesserungen in WordPress 5.3 zusammengestellt.

Mit dreizehn Versionen des Gutenberg-Plugins, die in den Core integriert wurden, mehreren Verbesserungen am Site Health Tool, einem brandneuen Standard-Theme, Verbesserungen in der Admin-Oberfläche, neuen Funktionen und Features für Entwickler und Theme-Designer, besserer Unterstützung für PHP 7.4 und einer unglaublichen Anzahl von kleinen Änderungen, Bugfixes und Verwerfungen setzt WordPress 5.3 einen wichtigen Meilenstein in der Entwicklung des CMS.

Was sind deine Lieblingsfunktionen/Verbesserungen? Haben wir etwas Wichtiges verpasst? Teile uns deine Gedanken im Kommentarbereich mit.

Carlo Daniele Kinsta

Carlo ist ein leidenschaftlicher Liebhaber von Webdesign und Frontend-Entwicklung. Er beschäftigt sich seit über 10 Jahren mit WordPress, auch in Zusammenarbeit mit italienischen und europäischen Universitäten und Bildungseinrichtungen. Er hat Dutzende von Artikeln und Leitfäden über WordPress geschrieben, die sowohl auf italienischen und internationalen Websites als auch in gedruckten Magazinen veröffentlicht wurden. Du kannst Carlo auf X und LinkedIn finden.