WordPress 5.5 »Eckstine«

Billy Eckstine

WordPress 5.5 »Eckstine«, benannt nach dem Jazzmusiker Billy Eckstine, wurde am 11. August 2020 veröffentlicht und steht ab sofort als Update über dein WordPress-Dashboard oder als Download zur Verfügung.

Das Hauptaugenmerk dieser Version liegt auf der Optimierung in 3 Bereichen: Geschwindigkeit, SEO und Updates.

Geschwindigkeit

Beiträge und Seiten laden dank der “lazy-loaded”-Bilder schneller, das bedeutet, erst wenn Bilder in den sichtbaren Bereich gelangen, werden sie geladen, was die Bandbreite sowohl auf Server- als auch auf Client-Seite schont. Der technische Begriff dafür lautet “lazy loading”.

Standardmäßig ergänzt WordPress alle img-tags mit vorhandenen width– und height-Attributen der folgenden Bilder um das Attribut loading=”lazy”, innerhalb von:

  • Beitrags- und Seiten-Inhalten ( the_content ),
  • Textauszügen ( the_excerpt ),
  • Text-Widgets ( widget_text_content ),
  • Templates, die ( wp_get_attachment_image ) nutzen,
  • außerdem bei Avatar-Bildern ( get_avatar ).

Mithilfe von Filtern kann das Verhalten angepasst oder die Funktion auch gänzlich deaktiviert werden.


SEO

WordPress 5.5 erstellt automatisch eine grundlegende, erweiterbare XML-Sitemap, die den Web-Crawlern der Suchmaschinen schnell und umfassend alle enthaltenen URLs zur Verfügung stellt und anhand weiterer Metadaten Informationen darüber liefert.

Indexierbar werden mit diesem initialen Release folgende Inhaltstypen:

  • Homepage,
  • Beitrags-Seite,
  • Beiträge und Seiten,
  • individuelle Inhaltstypen (CPTs),
  • Core- und individuelle Taxonomien
  • sowie Benutzer (Autoren)

– nicht integriert wurden: Bilder-, Videos- und News-Sitemaps sowie ein Cache-Mechanismus.

Eine Benutzeroberfläche für Einstellungen sucht man vergebens, doch Filter und Hooks ermöglichen individuelle Anpassungen oder sogar die komplette Deaktivierung.

Erreichbar ist der Sitemap-Index über https://deinedomain.de/wp-sitemap.xml   – in der von WordPress bereitgestellten robots.txt-Datei wird auf ihn referenziert.

Der Sitemap-Index kann maximal 50.000 Sitemaps enthalten und eine einzelne Sitemap maximal 2.000 (filterbare) Einträge.


Updates

Automatische Aktualisierungen von Plugins und Themes

Automatische Updates sind nicht neu. Diese Funktion wurde bereits mit WordPress 3.7 eingeführt.

Standardmäßig werden seitdem die Minor-Versionen von WordPress automatisch aktualisiert, doch auch alles andere (Themes, Plugins und WordPress-Hauptversionen) kann seitdem über (manuell zu setzende) Konstanten oder Filter so reguliert werden, dass die Updates dafür automatisch erfolgen. Natürlich kann das automatische Update so auch komplett für alles oder für einzelne Elemente deaktiviert werden.

WordPress 5.5 liefert nun entsprechende Benutzeroberflächen-Elemente mit anklickbaren Optionen für Plugins und Themes.

Die automatische Aktualisierung kann einzeln oder für mehrere Plugins gleichzeitig (über die Kontrollkästchen und mithilfe des Drop-down-Menüs “Mehrfachaktionen“ (Bulk actions)) aktiviert oder deaktiviert werden.

Plugins
Autoupdate Plugins

Anders als die automatische Aktualisierung der Minor-Versionen von WordPress, die als Opt-out integriert wurde (= standardmäßig aktiviert) – muss die automatische Aktualisierung pro Theme/Plugin bzw. optional auch für mehrere Plugins gleichzeitig (über Mehrfachaktionen) manuell aktiviert werden (= Opt-in).

Themes
Autoupdate Theme

Für Themes existiert die Möglichkeit, mehrere Elemente auf einmal zu bearbeiten, nicht, hier erfolgen Aktivierung/Deaktivierung pro Theme über Design -> Themes -> Theme-Details (= Klick auf ein Theme) -> Klick auf Link.

Die neuen Benutzeroberflächen-Elemente können aber auch über folgende Filter deaktiviert und damit wieder komplett aus dem Adminbereich entfernt werden:

// Disable plugins auto-update UI elements.
add_filter( 'plugins_auto_update_enabled', '__return_false' );

// Disable themes auto-update UI elements.
add_filter( 'themes_auto_update_enabled', '__return_false' );

Aktualisierung mit einem Zip-Archiv

Zwei Optionen stehen im WordPress-Backend für das manuelle Update von Plugins und Themes zur Verfügung:

  1. Plugin/Theme auswählen und auf “Jetzt aktualisieren” klicken,
  2. Plugin/Theme als ZIP-Archiv hochladen.

Für Punkt 2 waren bislang immer noch weitere Arbeitsschritte erforderlich:

  1. entsprechendes Plugin/Theme deaktivieren,
  2. das deaktivierte Plugin/Theme löschen,
  3. das (per Zip-Archiv) hochgeladene Plugin/Theme aktivieren.

Die ersten zwei Arbeitsschritte entfallen mit WordPress 5.5. Einfach nur noch das Zip-Archiv hochladen – den Rest erledigt WordPress nun für dich.


Neuerungen im Block-Editor

Wie bei jeder neuen Hauptversion von WordPress werden auch dieses Mal die meisten Funktionen und Veränderungen, die zwischenzeitlich im Plugin Gutenberg entwickelt wurden, übernommen.

Informationen zu allen neuen Funktionen findest du in den Gutenberg-Release-Beiträgen:  7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4 und 8.5.

Hier ein paar Beispiele:

Bearbeitung von Inline-Bildern

Das Zuschneiden, Rotieren und Zoomen eines Fotos im Block Bild ist nun möglich.

Bildbearbeitung

Block-Vorlagen

Vorgefertigte Blöcke bzw. Block-Kombinationen, die alle aus den zur Verfügung stehenden Blöcken kreiert wurden, stehen zur Auswahl, um per Mausklick in den Inhalt übernommen zu werden.

Erweiterte Suche

Block-Verzeichnis

Die Suchfunktion der Block-Bibliothek des Block-Editors wurde auf das WordPress-Plugin-Repository erweitert und listet als Suchergebnisse neben den Blöcken der Block-Bibliothek auch entsprechende “Block-vorbereitete” Plugins aus dem Repository auf, die dann direkt installiert werden können.


Barrierefreiheit

In der Medien-Ansicht kann ein Link per Klick auf einen Button kopiert werden, das Auswählen/Hervorheben des Textes entfällt somit.

Metaboxen lassen sich per Tastatur verschieben und Bilder mithilfe eines Assistenzgerätes bearbeiten, da es die Anweisungen im Bildeditor vorlesen kann.


Entwicklung

WordPress 5.5 bringt natürlich auch wieder jede Menge Änderungen auf Entwicklungsebene mit sich.

Serverseitig registrierte Blöcke in der REST-API

Das Hinzufügen von Blocktyp-Endpunkten bedeutet, dass JavaScript-Anwendungen (wie der Block-Editor) Definitionen für alle auf dem Server registrierten Blöcke abrufen können.

Dashicons

Die Dashicons-Bibliothek hat ein aktuelles Update mit 5.5 erhalten. Es wurden 39 Block-Editor-Symbole zusammen mit 26 weiteren hinzugefügt.

Definition von Umgebungstypen

WordPress verfügt jetzt über eine standardisierte Methode zur Definition des Umgebungstyps einer Website (Staging, Produktion usw.). Dieser Typ wird mit wp_get_environment_type() abgerufen und anschließend nur der für diesen Umgebungstyp geeignete Code ausgeführt.

Übergabe von Daten an Template-Dateien

Die Funktionen zum Laden von Templates (get_header(), get_template_part() usw.) haben ein neues $args-Argument erhalten. Damit kann jetzt der Wert eines ganzen Arrays von Daten an diese Templates übergeben werden.

Weitere Änderungen

  • Die PHPMailer-Bibliothek hat ein größeres Update von Version 5.2.27 auf 6.1.6 erhalten.
  • Verbesserte Kontrolle von redirect_guess_404_permalink().
  • Websites, die OPcache von PHP verwenden, werden dank der neuen Funktion wp_opcache_invalidate() bei Aktualisierungen (auch von Plugins und Themes) eine zuverlässigere Cache-Invalidierung erfahren.
  • Individuelle Inhaltstypen, die der Kategorie-Taxonomie zugeordnet sind, können mit neuen Filtern einen anderen Standardbegriff statt „Nicht kategorisiert“ erhalten.
  • Standardbegriffe für individuelle Taxonomien können in register_taxonomy() festgelegt werden.
  • Die REST-API unterstützt jetzt offiziell die Spezifikation von Standard-Metadatenwerten durch register_meta()
  • Folgende Bibliotheken wurden aktualisiert: SimplePie, Twemoji, Masonry, imagesLoaded, getID3, Moment.js und clipboard.js.

Weitere Informationen über alle die Entwicklung betreffenden Änderungen findest du im WordPress-5.5-Field-Guide.


Danke

Der Release wurde von  Matt MullenwegJake Spurlock und David Baumwald geleitet, unterstützt durch:

Darüber hinaus haben weitere 805 Personen bei der Entwicklung mitgeholfen und 523 Trac-Tickets sowie 1.660 Pullrequests auf GitHub bearbeitet:

A2 Hostinga4jp . coma6softwareAaron D. CampbellAaron JorbinabderrahmanAbha ThakorAchal JainachbedAchyuth AjoyacosminacsnaterseAdam SilversteinAddieaddyosmaniadnan.limdiadrianahortinairamericaAjay GhaghretiyaAjit Bohraakbarhusenakbarhusen429Akhilesh SabharwalAkira TachibanaAlain SchlesserAlbert Juhé LluverasAlex ConchaAlex KirkAlex LendeAlex ShielsAliali11007Allen SnookamaschasAmit DudhatanbumzandfinallyAndrea FerciaAndrea MiddletonAndrea TarantiniAndrei DraganescuAndrew DuthieAndrew NacinAndrew NevinsAndrew OzzAndrey „Rarst“ SavchenkoAndrés ManeiroAndy FragenAndy MeerwaldtAndy PeatlingAngela JinAngelika ReisigerAnh TranAnkit GadeAnkit K GuptaAnkit PanchalAnne McCarthyAnthony BurchellAnton TimmermansAntonis Lilisapedogarchon810argentiteArpit G ShahArslan AhmedasalceashiagrashourAtharva DhekneAurélien JoahnyaussiautomatonAyesh KarunaratneBackuPsBarryBarry CeelenBart CzyzbartekcholewabartkaliszBastien HoBastien MartinentbcworkzbdbchbdcstrBen DunkleBence SzalaibencroskeryBenjamin GossetBenoit ChantreBernhard ReiterBettyJJbgermannbigcloudmediabigdawggiBill EricksonBirgir Erlendsson (birgire)Birgit Pauli-HaackBjornWbongerBoone GorgesBorisBrandon KraftBrandon PaytonBrent SwisherBrian KrogsgardbruandetBuntyBurhan NasircaiocrcostaCameron VoellcameronamcintyreCarikeCarl WuenscheCarlos GalarzaCarolina NymarkCaroline MooreCarriganceyhunChadChad ButlerCharles FultonChetan PrajapatiChintan hingrajiyaChip SnyderChloé BringmannChoubyChris Van Pattenchriscct7Christian ChungChristian JongeneelChristian SaboChristian WachChristoph HerrckleeclayrayClifford PaulickcodeforestCommeuneimageCoponsCorey McKrillcpasqualiniCristovao VerstraetenCsaba (LittleBigThings)Curtis BeltCyrus CollierD.PERONNEd6Daniel BachhuberDaniel HüskenDaniel JamesDaniel LlewellynDaniel RichardsDaniel RochDaniele ScasciafratteDannyDarko G.Darren Ethier (nerrad)Dave McHaleDave WhitleyDavid A. KennedyDavid AguileraDavid AndersonDavid ArtissDavid BaumwaldDavid BinovecDavid BrumbaughDavid E. SmithDavid HerreraDavid RyanDavid ShanskeDavid SmithdavidveedchymkoDebabrata KarfaDeepak LalwanidekervitDelowar HossaindemetrisDenis YanchevskiyderekakellyDerrick HammerDerrick TennantDiane CoDilip BhedaDimitris Mitsisdingo-dDion HulseDixita Dusaradjennezdmenarddmethvindoc987Dominik SchillingdonmhicoDono12DoobeedooDossy ShiobaradpacksdratwasDrew JaynesDrLightmanDrProtocolsdsifforddudoDustin BoltondvershininDylan KuhnecotechieEddie MoyaEddyEdi AminehtisEileen VioliniEkaterinaElla van DurpeelmastudioelraeEmanuel BlagonicEmilie LEBRUNEmmanuel HesryEnej BajgoricEnrico SorcinelliEnrique PiquerasEnrique SánchezEricEric Andrew LewisEric BinnionErik BetshammarErin ‚Folletto‘ CasaliesemlabelesojespiatEstela RuedaetoledometruelEv3rywh3reEvan MullinsFabian KägyFabian TodtFaisal AhmedFelix ArntzFelix EdelmannferdiesleteringfinomenoFlorian BrinkmannFlorian TIARFlorian TruchotflorianatwhodunitFolioVisionFrancesca MaranoFrancois ThibaudFrank GoossensFrank KleinFrank.PrendergastFranz ArmasGabriel KoenGabriel MaldonadoGabriel MaysgadgetroidGal BarasGaravanigarethgillmanGarrett HyderGary CaoGary JonesGary PendergastGeert De DeckereGemini LabsGennady KovsheningeriuxGiorgio25bgisselfeldtglendaviesnzgoldsoundsGoto HayatoGovind KumarGrégory ViguiergradinaGreg ZiółkowskigregmulhausergriersonGrzegorz.JanoszkagsmumboGuido ScialfaguidobrasGunther PilzgwwarH-varhakreHalacioushankthetankHapiuc RobertHareesh PillaihaukepHazHector FHelen Hou-SandiHenry WrighthlanggohommealoneHooverHowdy_McGeehronakhuntlycIan BelangerIan DunnIan StewartianjvribdzifrinsinfinumIpstenu (Mika Epstein)Isabel BrisonishitakaJ.D. GrimesjackfungijacklinkersJadon NjadpmjagirbaheshJake SpurlockJames KosterJames NylenJan KochJan ReilinkJan ThielJanvo AldredJarretJason AdamsJason ColemanJason CosperJason CrouseJason LeMahieu (MadtownLems)Jason RouetJasWSIncJavier CasaresJayson BasanesjbindajbouganimJean-Baptiste AudrasJean-David DavietJeff ChandlerJeff FarthingJeff OngJeff PaulJenJenil KananiJeremy FeltJeremy HerveJeremy YipjeryjJesin AJignesh NakraniJim_PanseJip MoorsjivanpalJoe DolsonJoe HoyleJoe McGillJoen AsmussenJohanna de VosJohn BlackbournJohn DornerJohn James JacobyJohn P. GreenJohn WatkinsjohnnybJon QuachJon SurrellJonathan BossengerJonathan ChampJonathan ChristopherJonathan DesrosiersjonkolbertJonny HarrisjonnybotJono AldersonJoost de ValkJorge BernalJorge CostaJoseph DicksonJosepha HadenJosh SmithJoshuaWoldJoyJuanfra Aldasorojuanlopez4691Jules CollejulianmJuliette Reinders FolmerJulio PotierJulka GrodelJustin AhinonJustin de VesineJustin TadlockjustlevinejustnorrisK. Adam WhitekaggdesignKailey (trepmal)KairaKaitlin BollingKamataRyoKantari SamyKasparsKavya GokulkeesiemeijerKelly Dwankennethroberson5556Kevin HagertyKharis SulistiyonoKhokan SardarkinjaldalwadiKiril ZhelyazkovKirsty BurgoineKishan JasanikitchinKiteKjell ReigstadKnut SparhellKonstantin ObenlandKonstantinos XenosksoaresKT CheungKukhyeon HeolalitpendhareLaterna StudiolaurelfulfordLaurens OffereinsLevdbasLew AyotteLex RobinsonlinyowslipathorLisa SchuylerliuhaibinljharblogiglucasbustamanteluiswillLuke CavanaghLuke WalczaklukestramasonderM Asif RahmanM.K. SafiMaarten de BoerMahfoudh ArousmanojlovicManuel SchmalstiegmarakiMarcin PietrzakMarcio ZebedeuMarco PereirinhaMarcoZMarcusMarcus KazmierczakMarek DědičMarek HrabeMario ValneyMarius JensenMark ChouinardMark ParnellMark UrainemarkduboismarkgohoMarko AndrijasevicMarko HeijnenMarkRHmarkshepmarkusthielMartijn van der Kooijmartychc23Mary BaumMatheus MartinsMathieu VietMatias Venturamatjack1Matt CromwellMatt MullenwegMatt RadfordMatt van AndelmattchowningMatthew BoynesMatthew EppelsheimerMatthew GerringMatthias KittsteinerMatthias PfefferleMatthieu MotamattyrobMaxime CuleaMaxime PerticimaxmeMayank MajejimcshaneMel Choyce-DwanMenaka S.mensmaximusmetalandcoffeeMichaelMichael ArestadMichael ArestadMichael FieldsMichael NelsonMichele Butcher-JonesMichelleMiguel FonsecamihdanMiina SikkMikael KorpelamikaumotoMike CranteaMike GlendinningMike HaydonMike Schinkel [WPLib Box project lead]Mike SchroderMikey ArceMilana CapMilind MoremimimislavjuricMohammad JangdaMohammad Rockeybul AlamMohsin RasoolMonika RaoMorgan KayMorten Rand-HendriksenMorteza Geransayehmoto hachi ( mt8.biz )mrgrtmrmistmrTallmsaggioratoMuhammad Usama MasoodMukesh PanchalmunyaguNadir SeghirNahid Ferdous MohitNaoko TakanonarwenNate GayNathan RiceNavidneonkowynetnetpassprodsrNextendwebNgan TengyuenNick DaughertyNicky LimnicoladNicolas JuenNicolasKulkaNidhi JainNiels de BlaauwNiels Langenigro.simoneNikhil BhansiNikolay BachiyskiNilo VelezNireshnmenescardiNoah AllenntsekourasNumidWasNotAvailableoakesjoshobliviousharmonyockhamOmar AlshakeronokazuOptimizing Mattersovann86overclokkp_enriquePaal Joachim RomdahlpalmiakParesh ShindeParvandPascal BirchlerPascal CasierPaul BearnePaul BironPaul FernhoutPaul GibbsPaul RyanPaul SchreiberPaul StonierPaul Von SchrottkypavelevapPedro MendonçapentatonicfunkpepePeter „Pessoft“ KolínekPeter WestwoodPeter WilsonPhil DerksenPhil JohnstonPhilip JacksonPierre Gordonpigdog234pikamander2pingramPionectPiyush PatelpkarjalapkvillanuevaPrashant Baldhapratik028Pravin ParmarPresskoppPresslabsPriyank PatelPriyo MukulProGrafikaprogramminPuneet Sahalotpvogel2r-a-yRaaj TrambadiaRachel PeterraineRamananRami YushuvaevRastabanRavanHRavat ParmarravenswdrawrlyrebasaurusRed Sand Media GroupRemy PeronaRemzi CavdarRenathorenggo888retlehsretrofoxRiad BenguellaRian RietveldriasatRich TaborRingisharittermlRnabyRob CutmoreRob Migchelsrob006Robert AndersonRobert ChapinRobert PeakeRonald HuerecaRostislav WolnýRoy TanckruxandraRyan BorenRyan FredlundRyan KienstraRyan McCueRyan WelcherRyota SakamotoryotsunSören WredeSøren BrønstedSachit TandukarSagar JadhavSajjad Hossain SagorSal FerrarelloSalvatore FormisanoSam FullaloveSam WebsterSamir ShahSamuel Wood (Otto)samueljseaySander van DragtSanket MehtasarahrickerSathiyamoorthy VSayed TaquiscarolanscholdstromScott Kingsley ClarkScott ReillyScott SmithScott TaylorscribuscruffianSean HayesseanpaulrasmussenseayousenatormanSergey BiryukovSergey PredvoditelevSergio de FalcosergiomdgomesShannon SmithShantanu DesaishaunandrewsShawn HoopershawnzShital MarakanashulardsiliconforksSimon WheatleysimonjaninsinatrateamsjmurskarabeqskorasaurusskoskieslushmansnapfractalpopSpearsMarketingsphakkasquarecandysreedoapStanimir StoyanovStefano MinoiaStefanos TogoulidisSteph WellsStephen BernhardtStephen CroninStephen EdgarSteve Dufresnestevegibson12Steven Stern (sterndata)Steven WordstevenkussmaulstevenlinxStiofanSubrata SarkarSUM1SunnySunny RatilalSushyant ZavarzadehsuzylahSybre WaaijerSynchroSérgio EstêvãoTakayuki MiyauchiTammie ListerTang RufusTeBenachiTessa Watkins LLCTetsuaki HamanotheMikeDtheolgThierry MullerthimalwThomas MThorsten FrommenThrijith ThankachanTiago HillebrandtTill KrüssTimothy JacobsTkamatmdesignedtmoore41TobiasBgtobifjellner (Tor-Bjorn Fjellner)TofandeltomdudeTommy FerryTony GToro_Unit (Hiroshi Urabe)torres126Torsten LandsiedelToru MikiTravis NorthcutttreecuttertruongwptsimmonsTung DuUdit DesaiUlrichvabrashevVagios VlachosvalchovskiValentin BoraVayu RobinsveromaryViktor SzépevinklavirginienacciVladimirvortfuvoyager131vtieuwebawareWeston RuterWhodunitWilliam EarnhardtwilliampattonWinstinawpdeskWPDOWPMarmitewppinarYahil MadakiyayashrsyoancutillasyohannpyuhinYuri SalameYvette SonneveldZack TollmanzaheerahmadzakkathZebulan Stanphillzieladam und Česlav Przywara.

Und natürlich auch ein großes Dankeschön an alle, die WordPress übersetzt haben sowie an die Freiwilligen in den Support-Foren.