WordPress-Wochenrückblick KW10: 4.5-Dev-Posts, Emoji-Reaktionen und mehr

Die letzte Woche wurde durch die Dev-Posts bestimmt, in denen näher auf die größeren Neuerungen der nächsten WordPress-Version – aktuell also 4.5 – eingegangen wird.

Core

Emoji-Reaktionen

Es gibt ein Reactions-Plugin zum Hinzufügen von Emoji-Reaktionen zu Beiträgen, das eventuell auch irgendwann den Weg in den Core finden könnte. Um das Plugin zu nutzen, muss das REST-API-Plugin installiert werden.

Unter dem Vorstellungsbeitrag von Gary Pendergast auf Make/Core gibt es bereits eine lebhafte Diskussion darüber, ob das etwas für den Core ist, oder nicht.

4.5-Dev-Notes

Vor jedem Release sind die Betreuer von größeren Änderungen dazu aufgerufen, einen Beitrag zu ihren Neuerungen mit Informationen für Entwickler auf Make/Core zu veröffentlichen. Die meisten (oder vielleicht auch schon alle) für 4.5 sind in dieser Woche veröffentlicht worden:

Änderungen bei der Term-Bearbeitungsseite

Bisher wurde die Anzeige bestehender Terme sowie deren Bearbeitung jeweils über die wp-admin/edit-tags.php-Datei gelöst. Dieses Verhalten ist inkonsisten im Vergleich zu den Beitragsseiten, wo es wp-admin/post.php und wp-admin/edit.php gibt. Dadurch sind teilweise Probleme entstanden, so wurden die Anzeige-Optionen auf beiden Seitenarten angezeigt, auch wenn sie nur für die Anzeige der Term-Liste galten. Diese Probleme werden durch eine neu eingeführte wp-admin/term.php behoben (r36308).

Für Entwickler ändert sich nicht viel, nur dass bei Ansprechen des Bearbeitenformulars der Wert für $pagenow von edit-tags.php zu term.php wechselt, und die Ausgabe von get_current_screen() von edit-tags zu term. Ein paar nähere Infos gibt es in dem Beitrag von Pascal Birchler auf Make/Core.

Verbesserter Skript-Loader

Wie bereits in einem früheren Wochenrückblick kurz angerissen, wird der Skript-Loader in WordPress 4.5 verbessert. So werden die CSS-Dateien, die die Admin-Styles enthalten, nicht mehr in wp-admin.min.css und wp-admin-rtl.min.css zusammengefasst, sondern dynamisch durch die load-styles.php. So müssen nach einem Admin-CSS-Committ bei einem Update nicht die beiden großen CSS-Dateien verteilt werden, die auch Inhalte von nicht veränderten CSS-Dateien beinhalten, sondern nur die veränderten CSS-Dateien. Für Rückwärtskompatibilität gibt es die Dateien weiterhin, sie enthalten aber nur die @import-Regeln. Falls ihr ein Plugin oder Theme habt, das die bereits veraltete Medien-Funktion nutzt, dann solltet ihr beachten, dass der Style-Handle sich von media in media-deprecated geändert hat (r36869).

Eine weitere größere Neuerung in dem Bereich ist die Einführung von wp_add_inline_script(), um Inline-Skripte einzubinden. Im Make/Core-Beitrag wurde dafür folgendes Beispiel genutzt:

function mytheme_enqueue_typekit() { wp_enqueue_script( 'mytheme-typekit', 'https://use.typekit.net/<typekit-id>.js', array(), '1.0' ); wp_add_inline_script( 'mytheme-typekit', 'try{Typekit.load({ async: true });}catch(e){}' ); } add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_typekit' );
Code-Sprache: PHP (php)

Was dann in folgendem Code resultiert:

<script type='text/javascript' src='https://use.typekit.net/<typekit-id>.js?ver=1.0'></script> <script type='text/javascript'> try{Typekit.load({ async: true });}catch(e){} </script>
Code-Sprache: HTML, XML (xml)

Weitere Neuerungen im Bereich des Skript-Loaders – beispielsweise die Behebung eines Abhängigkeiten-Fehlers – gibt es im Beitrag von Dominik Schilling auf Make/Core.

Änderungen beim Link-Dialog

Im visuellen Editor gibt es nun einen Inline-Link-Dialog, damit Links schneller eingefügt und verändert werden können (#33301). Falls euer Plugin die alte Ansicht nutzt, solltet ihr testen, ob alles funktioniert. Ein paar weitere Infos dazu gibt es im Beitrag von Andrew Ozz auf Make/Core.

Multisite

Im Bereich Multisite wurde die WP_Site-Klasse eingeführt, damit $current_blog nicht mehr auf stdClass zurückgreifen muss, besser definiert ist und auch ein paar Methoden bekommt, von denen es vorher gar keine hatte (#32450). Zudem wurden neue Actions und Filter eingeführt, wie etwa network_site_new_form, der am Ende des Formulars zum Hinzufügen einer neuen Site abgefeuert wird (#34739). Weitere Informationen zu den Neuerungen gibt es im Post von Jeremy Felt auf Make/Core.

Kommentarbereich

Im Bereich der Kommentare wurde die Moderations-Ansicht überarbeitet. Unter anderem ist der Kommentarinhalt nun formatiert, es gibt direkt einen Link zum Bearbeiten des Kommentars und die Meldung über dem Kommentar wurde mit dem richtigen Style versehen (#34133).

Vorher:

Die Ansicht der Kommentarmoderation vor WordPress 4.5. (Screenshot: WordPress.org)
Die Ansicht der Kommentarmoderation vor WordPress 4.5. (Screenshot: WordPress.org)

Nachher:

Die neue Ansicht. (Screenshot: WordPress.org)
Die neue Ansicht. (Screenshot: WordPress.org)

Weitere Überarbeitungen wurden bei der maximalen Länge von Kommentarfeldern gemacht. So hat jedes Feld jetzt ein maxlength-Attribut, dessen Inhalt der möglichen Inhaltslänge der entsprechenden Datenbankspalte entspricht. Die Attribute können über den comment_form_default_fields-Filter verändert werden (#10377). Bei der Fehlerseite nach Abschicken des Kommentars wurde ein Zurück-Link eingefügt, damit der Nutzer nicht die Browser-Navigation nutzen muss (#4332).

Weitere Neuerungen – beispielsweise wird kein nofollow mehr für die Domain der WordPress-Site genutzt – findet ihr im Beitrag von Rachel Baker auf Make/Core.

Theme-Logo

Neu in 4.5 ist die Funktion, ein Logo für die Website im Customizer festzulegen, falls das Theme es mit add_theme_support( 'custom-logo' ); aktiviert hat. Dabei werden zwei Parameter innerhalb eines Argument-Arrays akzeptiert: size und header-text.

Mit size wird die Größe des Logos festgelegt, wobei die WordPress-eigenen Bildgrößen oder eine eigene genutzt werden können. Das Beispiel aus dem Make-Beitrag nutzt eine eigene Größe:

add_image_size( 'theme-prefix-logo', 400, 175 ); add_theme_support( 'custom-logo', array( 'size' => 'theme-prefix-logo', ) );
Code-Sprache: PHP (php)

Mit header-text können die Klassennamen der Elemente angegeben werden, die versteckt werden sollen. Dieser Wert ist nur wichtig für Themes, die nicht bereits das Verstecken des Header-Textes unterstützen. Das Beispiel aus dem Make-Post:

add_theme_support( 'custom-logo', array( 'header-text' => array( 'site-title', 'site-description' ), ) );
Code-Sprache: PHP (php)

Wenn ihr ein Theme erstellt, das diese Funktion unterstützt, solltet ihr das Hinzufügen eines Logos im Customizer bei aktivem Theme und in der Live-Vorschau für das Theme testen. Wenn ein Logo eingefügt ist, wird eine Klasse wp-custom-logo zum body hinzugefügt. Um das Logo anzuzeigen, reicht folgender Code:

function twentysixteen_the_custom_logo() { if ( function_exists( 'the_custom_logo' ) ) { the_custom_logo(); } }
Code-Sprache: PHP (php)

Weitere Infos, auch zu weiteren neuen Template-Tags, gibt es im Beitrag von Konstantin Obenland auf Make/Core.

Customizer-Verbesserungen

Es gibt Fälle, in denen ein Customizer-Formularelement (Control) keiner Einstellung (Setting) zugewiesen sein muss. Bisher war die Angabe von setting beim add_control()-Aufruf aber notwendig: Das ist ab 4.5 nicht mehr so. Wenn ihr eine Control ohne Setting-Verknüpfung erstellen möchtet, könnt ihr einfach 'settings' => array() angeben. Wegen dieser Änderung gibt es jetzt für add_control() auch ein capability-Argument, das sonst immer von dem Setting übernommen wurde (#35926).

Zudem kann im Customizer nun einfach eine Vorschau der Website auf einem Tablet und einem Smartphone aktiviert werden, und mit Selective Refresh wurde ein Framework entwickelt, mit dem Entwickler Bereiche festlegen können, die anstatt der kompletten Live-Vorschau neugeladen werden. Nähere Infos dazu und zu weiteren Neuerungen gibt es im Beitrag von Weston Ruter auf Make/Core.

Embed-Änderungen

Seit WordPress 4.4 ist es möglich, Inhalte einer WordPress-Site in den eigenen Inhalt einzubetten, wie es mit Tweets und YouTube-Videos funktioniert. Eine große Änderung für 4.5 ist hier, dass Themes nun die Darstellung der Embeds relativ einfach anpassen können. Die bisher genutzte wp-includes/embed.php wurde als veraltet markiert und in fünf Template-Teile aufgeteilt, die individuell von Themes überschrieben werden können:

  • embed.php
  • embed-404.php
  • embed-content.php
  • header-embed.php
  • footer-embed.php

Auch für bestimmte Post-Typen und Post-Formate kann das Theme ein Template anpassen, beispielsweise durch eine embed-{post-type}.php. Nähere Infos dazu und zu weiteren Neuerungen gibt es im Beitrag von Pascal.

Bessere Performance für Bilder

Bei den Bildern wurde der Standardwert für die Qualität hochgeladener Bilder von 90 auf 82 verringert. Das resultiert in geringen visuellen Änderungen aber deutlich spürbaren Verringerungen in der Dateigröße. Wenn ihr den Wert verändern wollt, könnt ihr den wp_editor_set_quality-Filter nutzen. Wenn ImageMagick genutzt wird, werden die Meta-Daten des Bildes entfernt, mit Ausnahme der Farbprofile, sowie von exif, xmp und iptc.

Mehr Neuerungen im Bild-Bereich gibt es im Beitrag von Joe McGill auf Make/Core.

Verschiedenes

Themes

Verschiedenes

  • Bereits seit letzter Woche gibt es wohl eine automatische Bearbeitung von Theme-Updates, sodass sie gleich freigeschaltet werden

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert