WordPress 4.9 Beta 1


Heute wurde WordPress 4.9 Beta 1 veröffentlicht. Da diese Version noch nicht final ist, solltet ihr sie nicht auf einer Live-Website einsetzen. Um die Beta zu testen, könnt ihr das Plugin WordPress Beta Tester verwenden oder euch die ZIP herunterladen.

Der finale Release ist für den 14. November geplant, aber damit das klappt, braucht das Core-Team Hilfe beim Testen. Die neue Version macht die Anpassung der Website noch einfacher, und das hier sind einige der größeren Änderungen, die so viel wie möglich getestet werden wollen:

  • Speichern von Änderungen im Customizer als Entwurf (#39896) und Planung der Live-Schaltung (#28721). Sobald Änderungen (Changeset) als Entwurf gespeichert oder zur Veröffentlichung geplant sind, werden sie automatisch geladen, wenn jemand den Customizer aufruft. Es gibt einen Button, um die Änderungen auf den letzten veröffentlichten Stand zurückzusetzen (das ist der lineare Modus für Changesets, im Gegensatz zum Branching-Modus, der sich über einen Filter aktivieren lässt, sodass beim Öffnen des Customizers immer bei einem leeren Changeset gestartet wird).
  • Ein Link zur Vorschau von Customizer-Änderungen im Frontend, auch ohne angemeldet zu sein (#39896).
  • Automatisches Speichern von Revisionen im Customizer (#39275).
  • Neue Themes können jetzt direkt aus dem Customizer heraus gesucht und installiert werden (#37661).
  • Galerie-Widget (#41914).
  • Unterstützung für Shortcodes in Text-Widgets (#10457).
  • Medien können in Text-Widgets eingefügt werden (#40854).
  • Unterstützung für oEmbeds außerhalb des Post-Inhalts, zum Beispiel in Text-Widgets (#34115).
  • Unterstützung für andere Video-Provider als YouTube und Vimeo im Video-Widget (#42039).
  • Verbesserte Menü-Erstellung im Customizer (#40104).
  • Beim Theme-Wechsel wird jetzt versucht, bestehende Menüs nicht nur passenden Menü-Positionen des neuen Themes zuzuordnen, wenn sie exakt denselben Slug haben. Wenn beide Themes nur eine Menü-Position haben, wird das Menü automatisch dahin übertragen. Der zweite Schritt ist die Prüfung auf Slug-Gleichheit, der dritte, ob Menü-Positionen aus altem und neuem Theme bei einem Teil des Slugs übereinstimmen (#39692).
  • Plugins: Einführung der Möglichkeit zu prüfen, ob ein Nutzer ein bestimmtes Plugin aktivieren und deaktivieren kann (#38652).
  • Änderungen an PHP-Dateien im Plugin- und Theme-Editor laufen in einer Sandbox ab. Wenn eine Änderung einen fatalen Fehler produziert, wird die Änderung rückgängig gemacht und der Nutzer bekommt die Möglichkeit, den Fehler zu beheben und neu zu speichern. Damit wird auch das vorherige Verhalten ersetzt, bei dem Plugins deaktiviert wurden, wenn eine Änderung einen fatalen Fehler hervorgerufen hat (#21622).
  • Im Widgets-Screen wird deutlicher angezeigt, wenn ein Widget erfolgreich gespeichert wurde. Außerdem gibt es eine Warnung, wenn die Widget-Ansicht verlassen wird und noch ungespeicherte Änderungen vorhanden sind (#23120, #41610).

Wie immer gibt es auch einige Änderungen für Entwickler:

  • CodeMirror-Editor wurde zu Theme- und Plugin-Editor, Eigenes-CSS-Feld im Customizer und HTML-Widget hinzugefügt. Die Integration unterstützt Linter, die vor dem Speichern vor Fehlern warnen (#12423).
  • Einführung einer erweiterbaren Code-Editor-Control für den Customizer, um CodeMirror-Instanzen einzufügen (#41897).
  • Globaler Benachrichtigungsbereich im Customizer (#35210), Benachrichtigungen für Panels und Sections (#38794) und ein Benachrichtigungs-Overlay, das den kompletten Screen im Customizer einnimmt (#37727).
  • Datum- und Zeit-Control für den Customizer (#42022).
  • Verbesserte Usability der Customize-JS-API (#42083, #37964, #36167).
  • Einführung von Control-Templates für Basis-Controls (#30738).
  • Nutzung von WP_Term_Query bei der Umwandlung von Tax-Queries (#37038).
  • Datenbank: Unterstützung für MySQL-Server, die sich mit IPv6-Hosts verbinden (#41722).
  • Emoji: Emoji-Kompatibilität in PHP (#41722). Testen von Emojis in E-Mails oder RSS-Feeds willkommen.
  • I18N: Plural_Forms-Klasse (#41562).
  • Medien: MediaElement.js auf 4.2.5-74e01a40 aktualisiert (#39686).
  • Medien: max-width für Standard-Beschriftungen (#33981). Das Team möchte sichergehen, dass das zu keinen visuellen Problemen mit bestehenden Themes führt – bei den Standard-Themes sieht alles gut aus.
  • Medien: Beim erneuten Zuschneiden eines Custom-Header-Bildes im Customizer werden ältere Zuschnitte desselben Bildes gesucht und ersetzt, damit weniger Bilddateien entstehen (#21819).
  • Medien: Erstelldatum von Videos wird in Metadaten gespeichert (#35218). Hier wird Hilfe beim Testen verschiedener Video-Arten benötigt.
  • Multisite: Einführung von get_site_by() (#40180).
  • Multisite: Verbesserung von get_blog_details() durch Nutzung von get_site_by() (#40228).
  • Multisite: Verbesserung der Initialisierung von verfügbaren Rollen beim Wechseln der Sites (#38645).
  • Multisite: Beim Hinzufügen eines Nutzers zu einer weiteren Site werden nun immer korrekt nur die Nutzerrollen angezeigt, die auf der Ziel-Site vorhanden sind (#36961).
  • REST-API: Unterstützung für Registrierung komplexer Daten-Strukturen für Einstellungen und Meta.
  • REST-API: Unterstützung für Objekte in Schema-Validierung und -Sanitization (#38583).
  • Role/Capability: Einführung von Capabilities zur Installation und Aktualisierung von Sprachdateien (#39677).
  • SWFUpload entfernt (#41752).
  • Users: Die Änderung einer E-Mail-Adresse muss über einen Link in einer E-Mail bestätigt werden (#16470).
  • Core und die Unit-Test-Suite sind kompatibel mit dem kommenden PHP-7.2-Release.

Tiefergehende Informationen zu den großen Änderungen findet ihr in den entsprechenden Blogbeiträgen im Dev-Blog. Eine Übersicht von allen Änderungen gibt es in einer Trac-Liste.

Wenn ihr glaubt einen Bug gefunden zu haben, postet ihn im Alpha-/Beta-Bereich des englischen Forums. Falls ihr euch damit auskennt, einen reproduzierbaren Bug-Report zu erstellen, könnt ihr euch ein Trac-Ticket eröffnen, wo es zudem eine Liste der bereits bekannten Bugs gibt.