WordPress 5.5 ”Eckstine” är släppt, och det är dags för oss att introducera de mest märkbara ändringarna och funktionerna som läggs till i kärnan med årets andra WordPress-utgåva.

Nuförtiden är vi vana vid att se många tillägg till blockredigeraren vid varje ny WordPress-lansering. WordPress 5.5 är inget undantag!

Denna version ger också massor av ändringar som inte är relaterade till redigeraren, men som borde ha en stor inverkan på hur vi använder vårt favorit-CMS.

Medan WordPress 5.5 för med sig många ändringar till WordPress-kärnan har flera funktioner vi förväntade oss skulle komma med 5.5 försenats och tagits bort från den här versionen på grund av flera olösta problem. Så, webbplatsredigering, navigeringsblock, navigeringsskärmar och widgetskärmar är inte en del av WordPress 5.5.

Om du vill läsa mer om WordPress 5.5:s utvecklingscykel, kolla länkarna nedan:

  • 7 juli 2020: Beta 1
  • 14 juli 2020: Beta 2
  • 21 juli 2020: Beta 3
  • 27 juli 2020: Beta 4
  • 28 juli 2020: RC 1
  • 4 augusti 2020: RC 2
  • 10 August 2020: RC 3
  • 10 augusti 2020: Torrkörning för release av WordPress 5.5
  • 11 augusti 2020: Slutlig utgåva av WordPress 5.5 ”Eckstine

Så, vad är nytt i WordPress 5.5?

Vad är nytt med blockredigeraren

Med den slutliga utgåvan av WordPress 5.5 har tio versioner av Gutenberg-pluginet lagts till kärnan, vilket ger ett stort antal UI-förbättringar, funktioner, prestandahöjningar och buggfixar som påverkar alla aspekter av redigeringsupplevelsen, från användbarhet till funktionalitet och prestanda.

Det skulle vara nära omöjligt att nämna alla dessa förändringar här, så i det här inlägget hittar du bara ett urval av våra favoriter bland de nya funktionerna och förbättringarna.

För en mer omfattande lista över förbättringar och funktioner som läggs till blockredigeraren med WordPress 5.5, se de officiella tillkännagivandena om plugin-utgåvorna: 7.57.67.77.87.98.08.18.28.38.48.5.

Med detta sagt kommer vi här att gå igenom följande tillägg till blockredigeraren med WordPress 5.5:

  1. Ny UI-design
  2. Blockdesignverktyg
  3. Bildredigering i inlägget
  4. Blockkategorier och ny panel för att infoga block
  5. Blockkatalog och blockplugins
  6. Blockmönster

Ny UI-design

Varje version av Gutenberg-pluginet ger små och inte så små förbättringar som stilla förändrar den övergripande redigeringsupplevelsen. Många av dessa förändringar kommer nu att slås samman i WordPress-kärnan. Så när du först startar blockredigeraren i WordPress 5.5, bör ett något annorlunda gränssnitt fånga din uppmärksamhet. Du hittar:

  • Ett förenklat blockverktygsfält
  • Starkare färgkontrast
  • Nya ikoner
  • Blockflyttare
  • Omgivande element
  • Enhetsförhandsvisningar
  • Förbättrad dra och släpp
  • Förbättrade och enhetliga blockfokusstilar över hela användargränssnittet
  • Möjlighet att formatera flera block på en gång
  • Bättre prestanda
Formatera flera block i WordPress 5.5
Formatera flera block i WordPress 5.5

De vi nämner ovan är bara några av de många förändringar som påverkar redigeringsupplevelsen.

Mobil förhandsgranskning i WordPress 5.5
Mobil förhandsgranskning i WordPress 5.5

Ytterligare ändringar inkluderar också:

Nedsänkta och upphöjda teckenalternativ

Formateringsalternativ för nedsänkt och upphöjd text finns nu tillgängliga via Rich Text-kontrollerna (Gutenberg 8.0).

Det nya blockverktygsfältet med omgjorda ikoner, blockflyttare och bättre färgkontrast
Det nya blockverktygsfältet med omgjorda ikoner, blockflyttare och bättre färgkontrast

Överordnade block-markering

En helt ny knapp i verktygsfältet visas nu när du svävar över vänster sida av blockverktygsfältet. Den nya knappen gör det möjligt att välja överordnade block i kapslade sammanhang (Gutenberg 8.3).

Välj överordnat block i ett Media & textblock
Välj överordnat block i ett Media & textblock

Blockdesignverktyg

Flera designverktyg har lagts till i Gutenberg-pluginet under de senaste månaderna och kommer nu att ingå i kärnan med WordPress 5.5.

Höjdkontroll och bakgrundsgradienter

En första uppsättning verktyg ger kontroll över mått och bakgrundsfärg för flera block (Gutenberg 7.9).

Bakgrundsgradientinställningar för kolumnblocket
Bakgrundsgradientinställningar för kolumnblocket

Spaltfyllnad och länkfärgkontroller

Två ytterligare funktioner landar i kärnan (Gutenberg 8.3) men i skrivande stund är de fortfarande markerade som experimentella:

  • Spaltfyllnadskontroll för omslagsblock.
  • Länkfärgkontroll för stycke, rubrik, grupp, kolumner och media & textblock.

Spaltfyllnadskontroll och länkfärgskontroll är avstängda som standard och utvecklare måste uttryckligen deklarera stöd för dem, vilket förklaras i Block Editor Handbook.

Om du vill lägga till spaltfyllnadskontroller för omslagsblocket till dina teman, lägg helt enkelt till följande rad till temats functions.php:

add_theme_support( 'experimental-custom-spacing' );

Om du vill aktivera länkfärgkontroll för stycke, rubrik, grupp, kolumner och media och textblock, lägg bara till följande rad i temats functions.php-fil.

add_theme_support( 'experimental-link-color' );

Anpassade enheter och anpassade radhöjder

Med den här nya funktionen kan du ställa in  pxemremvw och vh höjdvärden för omslagsblocket (Gutenberg 7.9). % stöds också men det utelämnas på grund av oförutsägbar rendering av procentuella höjder.

Med den förbättrade höjdkontrollen kan du hoppa med 10 värden i taget genom att hålla nere Skift medan du trycker upp eller ner.

Den nya enhetskontrollen
Den nya enhetskontrollen

Utvecklare kan lägga till stöd för anpassade enheter genom att definiera stödflaggan custom-units:

add_theme_support( 'custom-units' );

Du kan också ställa in specifika anpassade enheter:

add_theme_support( 'custom-units', 'rem', 'em' );

Utvecklare kan också lägga till Anpassade radhöjder för rubrik och stycken genom att definiera stödflaggan för custom-line-height:

add_theme_support( 'custom-line-height' );

Bildredigering i inlägget

En ny redigeringsfunktion har lagts till i blockredigeraren med Gutenberg 8.4 så att användarna kan redigera bilder direkt från bildblocket.

Nu har den slagits samman till kärnan och från och med WordPress 5.5 kan du beskära, rotera, zooma och justera bildpositioner utan att behöva starta mediebiblioteket vilket resulterar i en snabbare redigeringsupplevelse.

Om du använder mycket bilder kommer du utan tvekan att uppskatta den här funktionen.

Bildredigering i WordPress 5.5
Bildredigering i WordPress 5.5

Klicka bara på knappen Beskär i bildverktygsfältet och du har tillgång till de nya redigeringsfunktionerna. När du är nöjd med dina anpassningar, spara dina ändringar och du är klar.

WordPress kommer att spara en ny bild som bilaga i mediebiblioteket och kopiera detaljer från originalbilden (titel, beskrivning, bildtext, alt-text och EXIF-data). Detta ger dig fullständig kontroll över nya bildversioner.

Blockkategorier och ny panel för att infoga block.

En omdesignad panel för att infoga block visar upp block och mönster efter kategorier, vilket avsevärt förbättrar redigeringsupplevelsen och gör block och mönster lättare att hitta (Gutenberg 8.3).

Block och mönsterflikar i den nya blockinfogaren
Block och mönsterflikar i den nya blockinfogaren

Blockkatalog och blockplugins

Med införandet av blockkatalogen kan du hitta, installera och lägga till tredjepartsblock direkt från blockinfogaren.

När du söker efter ett block som du inte redan har installerat blir du visad en lista över plugins som finns i Plugin-katalogen. Dessa plugins kallas ”blockplugins” och du kan lägga till dem i din redigerare med ett enda klick.

Ett tredjepartsblock från WordPress-gemenskapen
Ett tredjepartsblock från WordPress-gemenskapen

Tack vare den här nya fantastiska funktionen kan du nu bygga dina egna block och publicera dem i Plugin-katalogen vilket gör dina skapelser tillgängliga för hela WordPress-gemenskapen.

Den goda nyheten är att för att skapa dina anpassade block behöver du inte vara en PHP-guru. Du skulle bara behöva lite praktisk kunskap om JavaScript.

Inte säker på hur du ska komma igång med att utveckla dina egna block? Den fantastiska WordPress-gemenskapen har vad du behöver med en enkel steg för steg-handledning.

Den första versionen av blockhandledningen är redan tillgänglig i den officiella Block Editor Handbook för att lära dig grunderna i blockutveckling. Du kan läsa mer om blockkatalogen och blockpluginutveckling på Make WordPress Plugins-bloggen.

Blockmönster

I mars 2020 introducerade Gutenberg 7.7 och Gutenberg 7.8 blockmönster och blockmönster-API för teman och plugins.

Blockmönster är fördefinierade blocklayouter som gör det möjligt för användare att snabbt lägga till komplexa strukturer av kapslade block till sina sidor.  Deras syfte är att hjälpa innehållsförfattare och webbplatsadministratörer att övervinna ”tom sida-syndrom” och bygga professionella layouter och avancerade visningar med lätthet.

Vi kommer se blockmönster från sin bästa sida med fullständig webbplatsredigering.

En tydlig förklaring till vad blockmönster är avsedda för kommer från Mathias Ventura, ledande arkitekt för Gutenberg-projektet:

Ett förtydligande — ”blockmönster” handlar mindre om malldelar (som är strukturellt meningsfulla) och mer om allmänna designelement av mindre block. När de läggs in lagras de inte separat. Till exempel en omslagsbild som kombinerar några block för att uppnå ett specifikt utseende som annars skulle ta användarna lite arbete att utföra. Tänk på det mer som en samling av mönster som kan läggas till vartsomhelst utan att nödvändigtvis representera en återanvändbar del av en temamall.

Förutom malldelar är blockmönster designelement som ska hjälpa webbplatsadministratörer och innehållsskapare att snabba upp och förbättra sin redigeringsupplevelse.

Blockmönster lanserades med Gutenberg 7.7 då det dök upp i ett sidofältplugin. Senare, med lanseringen av Gutenberg 8.0, flyttade de in i en uppfräschad blockinfogare som nu visas som en panel på vänster sida av redigeraren, enligt bilden nedan:

Gallerimönstret i WordPress 5.5
Gallerimönstret i WordPress 5.5

I detta tidiga skede kommer blockmönsterfunktionen med en mycket begränsad uppsättning mönster. De skapar hursomhelst en enorm förbättring av redigeringsupplevelsen, och förhoppningsvis kommer mer att läggas till inom en snar framtid.

Precis som vanliga block är mönster sökbara och organiseras i följande kategorier:

  • Text
  • Hero
  • Kolumn
  • Knapp
  • Galleri
  • Funktioner
  • Kundbetyg
  • Okategoriserat
Numrerade funktioner-mönster i WordPress 5.5
Numrerade funktioner-mönster i WordPress 5.5

Förutom inbyggda blockmönster kan WordPress-utvecklare ge sina teman och plugins anpassade mönster genom att dra nytta av en helt ny API.

Du kan registrera dina egna mönster med funktionen register_block_pattern och register_block_pattern_category för kategorier.

register_block_pattern har två argument:

  1. Namnet på mönstret.
  2. En array av mönsteregenskaper.

Egenskaperna inkluderar följande:

  • title
  • content
  • description
  • categories
  • keywords
  • viewportWidth

register_block_pattern_category tar också två argument:

  1. Namnet på mönsterkategorin.
  2. En array av egenskaper.

API:n ger också två funktioner för att avregistrera mönster och kategorier: unregister_block_pattern och unregister_block_pattern_category.

Det är ganska enkelt att bygga dina anpassade blockmönster. Till exempel, kopiera och klistra in följande kod i ett anpassat plugin eller ett barntemas functions-fil, och ändra sedan namnet på mönstret enligt dina önskemål.

add_action( 'init', function(){

	register_block_pattern_category( 
		'kinsta', 
		array( 'label' => __( 'Kinsta stuff', 'kinsta-pattern' ) ) );

	register_block_pattern(
	'kinsta-pattern/my-custom-pattern',
	array(
		'title'			=> __( 'Two Kinsta buttons', 'kinsta-pattern' ),
		'description'	=> _x( 'Two nice buttons.', 'Kinsta Buttons', 'kinsta-pattern' ),
		'content'		=> "<!-- wp:buttons {\"align\":\"center\"} -->\n<div class=\"wp-block-buttons aligncenter\"><!-- wp:button {\"backgroundColor\":\"very-dark-gray\",\"borderRadius\":0} -->\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background has-very-dark-gray-background-color no-border-radius\">" . esc_html__( 'Button One', 'kinsta-pattern' ) . "</a></div>\n<!-- /wp:button -->\n\n<!-- wp:button {\"textColor\":\"very-dark-gray\",\"borderRadius\":0,\"className\":\"is-style-outline\"} -->\n<div class=\"wp-block-button is-style-outline\"><a class=\"wp-block-button__link has-text-color has-very-dark-gray-color no-border-radius\">" . esc_html__( 'Button Two', 'kinsta-pattern' ) . "</a></div>\n<!-- /wp:button --></div>\n<!-- /wp:buttons -->",
		'categories'	=> array( 'kinsta' ),
	)
	);
});

Koden ovan är enkel anpassning av det ursprungliga kodstycket från Block API-referensen. Som du kan se krävs ingen JavaScript.

A custom block pattern

Se även blockmönster i WordPress 5.5.

Inbyggd Bildlatladdning i WordPress-kärnan

Latladdning är en optimeringsteknik som skjuter upp laddning av icke-kritiska resurser. Detta innebär att webbläsaren instrueras att ladda synligt innehåll vid sidladdning och skjuta upp nedladdning och rendering av bilder längre ner tills de faktiskt behövs.

Innan inbyggd latladdning kunde webbutvecklare latladda tillgångar via JavaScript, med IntersectionObserver API eller med hjälp av händelsehanterarna scrollresize, och orientationchange

Men sedan latladdning blivit standard behöver vi inte skriva anpassad kod eller använda JavaScript-bibliotek längre och latladdade bilder kan implementeras med hjälp av det nya loading-attributet i img och iframe-taggar.

Latladdning via attribut för bilder & iframes (källa: caniuse.com)
Latladdning via attribut för bilder & iframes (källa: caniuse.com)

Attributet loading avgör om webbläsaren ska ladda en resurs omedelbart eller vänta tills vissa villkor är uppfyllda. Det stöder för närvarande följande värden:

  • lazy: vänta tills vissa villkor är uppfyllda
  • eager: ladda resursen omedelbart
Lazy loading settings in Chrome (available at chrome://flags/#enable-lazy-image-loading)

Vid skrivande stund stöds inbyggd latladdning av Microsoft Edge, Firefox, Google Chrome, webbläsarna Opera, Android, och Chrome för Android.

Latladdningsinställningar i Autoptimize
Latladdningsinställningar i Autoptimize

Innan WordPress 5.5 var latladdning endast möjlig i WordPress med ett optimeringsplugin som Autoptimize, Bj Lazy Load eller andra. Nu är det en del av WordPress-kärnan och kommer inte att kräva ytterligare plugins.

Inbyggd latladdning i WordPress

Som Felix Arntz rapporterade i ett gammalt blogginlägg på Make WordPress Core-bloggen föreslogs en JavaScript-implementering av latladdning i WordPress ursprungligen för några år sedan, men det blev aldrig en del av kärnan. Den nya implementeringen av inbyggd bildlatladdning tar bort eventuella kompatibilitetsproblem och nu kan den nya funktionen säkert slås samman i kärnan med WordPress 5.5.

Enligt Felix skulle inbyggd latladdning på WordPress-bilder ha en positiv inverkan på webbplatsprestanda och användarupplevelse för ett stort antal WordPress-webbplatser som inte använder sig av latladdningsplugins:

… utan att kräva någon teknisk kunskap eller ens medvetenhet om latladdning som ett koncept. Att anta det nya loading-attributet är en stor möjlighet för WordPress att leda vägen för en snabbare webb totalt sett.

För att förhindra layoutförändringar läggs loading="lazy" automatiskt till img-taggar med widthoch height-attribut och det är bara möjligt om bilden är tillgänglig för WordPress som bilaga och innehåller en wp-image-$id-klass.

Latladdning är ett måste för optimering för varje WordPress-installation och webbplatser med mycket bilder. Felix noterar:

Detta kommer att drastiskt spara bandbredd på både servrar samt användaragenter över webbplatser där bilder längre ner på sidan brukade laddas direkt, även om användaren aldrig ens bläddrade ned mot dem.

Inbyggd latladdning i WordPress fungerar med följande bilder:

  • Bilder i inläggsinnehåll (the_content).
  • Bilder i inläggsutdrag (the_excerpt).
  • Bilder i text widgets (widget_text_content).
  • Avatar-bilder som renderas via get_avatar().
  • Mallbilder med wp_get_attachment_image

Med den första implementeringen stöder latladdning bara bilder, men vi kan förvänta oss en framtida förbättring av latladdning på iframe-taggar.

Latladdning för WordPress-utvecklare

Utvecklare kan åsidosätta standardbeteendet med flera nya filter. Bland dessa filter är wp_lazy_loading_enabled och wp_img_tag_add_loading_attr de mest användbara för utvecklare:

  • wp_lazy_loading_enabled slår loading-attributet på och av. Detta filter kan tillämpas globalt eller per tagg.
  • wp_img_tag_add_loading_attr filtrerar loading-attributvärdet och ger ett sätt att styra latladdning per bild.

Följande exempel visar hur du globalt inaktiverar latladdning:

add_filter( 'wp_lazy_loading_enabled', '__return_false' );

Vi kan också inaktivera latladdning för en viss tagg. I exemplet nedan stängs latladdning av och på för bilder i the_content-sammanhang (Läs mer om Make WordPress Core):

add_filter(
	'wp_lazy_loading_enabled',
	function( $default, $tag_name, $context ){
		if ( 'img' === $tag_name && 'the_content' === $context ){
			return false;
		}
		return $default;
	},
	10,
	3
);
  • $default: det booleska standardvärdet (true).
  • $tag_name: Taggnamnet på elementen som ska latladdas.
  • $context: en valfri parameter som anger bildens kontext (se listan ovan).

Observera att parametern $tag_name vid skrivande stund endast stöder img-taggen. Hur som helst, som vi sa ovan bör fler taggar läggas till i framtiden.

Om du vill ha mer detaljerad kontroll över bildlatladdning i WordPress, kan du följa två olika tillvägagångssätt beroende på sammanhanget.

Om du arbetar med innehållet (dvs. the_content, the_excerpt, widget_text_content) kan du använda wp_img_tag_add_loading_attr-filtret. Följande exempel visar hur du inaktiverar latladdning på en viss bild:

add_filter(
	'wp_img_tag_add_loading_attr',
	function( $value, $image, $context ){
		if ( 'the_content' === $context ){
			$image_url = wp_get_attachment_image_url( 67, 'medium' );
			if ( false !== strpos( $image, ' src="' . $image_url . '"' ) ) {
				return false;
			}
		}
		return $value;
	},
	10,
	3
);

Temautvecklare kan också kontrollera bilder via wp_get_attachment_image. I det här scenariot kan du helt enkelt ställa in värdet för loading-attributet för bilden till false:

echo wp_get_attachment_image(
	67,
	'medium',
	false,
	array( 'loading' => false ),
);
Den första bilden i ovanstående galleri är inte latladdad
Den första bilden i ovanstående galleri är inte latladdad

Du hittar mer information om latladdning av bilder i WordPress 5.5 på Make WordPress Core-bloggen.

Auto-uppdateringar för plugins och teman

En av de största frågorna för webbplatsägare är webbplatssäkerhet och att hålla programvaran uppdaterad är en vanlig rekommendation som varje webbplatsägare bör tänka på.

WordPress automatiska uppdateringar har varit tillgängliga som en funktion sedan WordPress 3.7. Men problemet är att medan automatiska uppdateringar är aktiverade som standard för kärnunderhåll och säkerhetslanseringar utnyttjade många webbplatsägare inte automatiska uppdateringar för plugins och teman innan WordPress 5.5.

Anledningen är att den här funktionen krävde grundläggande kunskaper om WordPress-utveckling. Faktum är att utvecklare kan finjustera sina uppdateringsinställningar genom att definiera en eller flera konstanter i wp-config.php eller använda ett filter i ett plugin.

Med WordPress 5.5 kan nu webbplatsadministratörer växla auto-uppdateringar för plugins och teman av och på med ett enda klick direkt i sin WordPresspanel.

Automatiska pluginuppdateringar kan aktiveras och inaktiveras genom att klicka på länken som visas i kolumnen Automatiska uppdateringar som nu finns på Pluginskärmen.

Aktivera automatiska uppdateringar för plugins
Aktivera automatiska uppdateringar för plugins

Om du vill aktivera automatiska uppdateringar för ditt tema, bläddra till Utseende > Teman, håll muspekaren över ditt tema och klicka på Temadetaljer. Klicka sedan på den nya länken Aktivera automatiska uppdateringar och du är klar.

Aktivera automatiska uppdateringar för ett enskilt tema
Aktivera automatiska uppdateringar för ett enskilt tema

Det nya autouppdateringsgränssnittet för plugins och teman kommer med flera funktioner och krokar tillgängliga för utvecklare att anpassa sin automatiska uppdateringsupplevelse.

Automatiska uppdateringsfunktioner och filter för plugin- och temautvecklare

En ny funktion och flera filter låter WordPress-utvecklare anpassa många aspekter av autouppdateringarna av plugin och teman.

Kontrollera autouppdateringsgränssnittet

Den nya WordPressfunktionen wp_is_auto_update_enabled_for_type() kontrollerar om autouppdateringsgränssnittet är aktiverat för en viss typ. Den nya funktionen innehåller ett enda argument ($type) som bestämmer vilken typ av uppdatering som ska kontrolleras ('theme' eller 'plugin') och returnerar true eller false i enlighet därmed.

Det nya autouppdateringsgränssnittet kan inaktiveras för plugins eller teman tack vare två nya filter: plugins_auto_update_enabled och themes_auto_update_enabled. Se exemplet nedan:

// 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' );

Filtren ovan dokumenteras i wp-admin/includes/update.php.

Anpassa autouppdateringslänkar

Plugin- och temautvecklare kan anpassa HTML-resultatet av autouppdateringslänkar.

Filtret plugin_auto_update_setting_html gör det möjligt att anpassa växel-länkar och time lapse mellan två uppdateringsförsök.

Återanropsfunktionen innehåller tre argument:

  • $html: HTML för pluginets autouppdateringskolumninnehåll, inklusive växling av autouppdateringsåtgärdslänkar och tid till nästa uppdatering.
  • $plugin_file: sökväg till pluginfilen i förhållande till pluginkatalogen.
  • $plugin_data: en array med plugindata.

Om du vill anpassa etiketten för den automatiska uppdateringslänktexten, kan du använda filtret som visas i följande utdrag.

add_filter( 'plugin_auto_update_setting_html', function( $html, $plugin_file, $plugin_data ){
	if ( 'kinsta-plugin/kinsta-plugin.php' === $plugin_file ) {
		$html = __( 'Custom HTML', 'kinsta-plugin' );
	}
	return $html;	
	}, 
	10, 
	3 
);

Bilden nedan visar resultatet på skärmen.

Anpassad HTML för en autouppdateringslänk
Anpassad HTML för en autouppdateringslänk

Detta filter dokumenteras i wp-admin/includes/class-wp-plugins-list-table.php.

På enskilda webbplatser kan du anpassa JS-mallen i autouppdateringslänken via theme_auto_update_setting_template-filtret. Blogginlägget som introducerar autouppdateringar för teman och plugin ger följande exempel för detta filter:

function myplugin_auto_update_setting_template( $template ) {
    $text = __( 'Auto-updates are not available for this theme.', 'my-plugin' );
 
    return "<# if ( [ 'my-theme', 'twentytwenty' ].includes( data.id ) ) { #>
        <p>$text</p>
        <# } else { #>
        $template
        <# } #>";
}
add_filter( 'theme_auto_update_setting_template', 'myplugin_auto_update_setting_template' );

Det rekommenderas att söka efter måltemat med hjälp av parametern data.id.

Om du arbetar med en WordPress multisite-installation behöver du filtret theme_auto_update_setting_html, som låter dig anpassa Autouppdateringslänkarna på temaskärmen på samma sätt som pluginskärmen.

Slutligen kontrollerar ytterligare två filter alla automatiska uppdateringar för varje tema och plugin, inklusive teman och plugins som borde installeras i framtiden.

Dessa filter, tillgängliga sedan WordPress 3.7, åsidosätter alla inställningar för automatisk uppdatering i din WordPresspanel. Du kan läsa mer om det i vår Djupdykning i WordPress automatiska uppdateringar. För en djupare bild av automatiska uppdateringar för plugins och teman, läs mer i det här blogginlägget.

Autouppdateringsmejl och Webbplatshälsoinformation

Sedan WordPress 5.5 skickas ett e-postmeddelande efter ett automatiskt uppdateringsförsök.

Filterkroken auto_plugin_theme_update_email filtrerar e-postmeddelanden som skickas efter en automatisk bakgrundsuppdatering. Se utvecklarnas blogginlägg för ett exempel på användning.

Autouppdateringsmejl kan också inaktiveras med två nya filter:

// Disable auto-update email notifications for plugins.
add_filter( 'auto_plugin_update_send_email', '__return_false' );

// Disable auto-update email notifications for themes.
add_filter( 'auto_theme_update_send_email', '__return_false' );

Plugin och temans autouppdateringsinformation visas också i fliken Webbplatshälsa.

Fliken Webbplatshälsa visar plugin och temans autouppdateringsstatus
Fliken Webbplatshälsa visar plugin och temans autouppdateringsstatus

Utvecklare kan anpassa texten som visas på den här skärmen med hjälp av filtren plugin_auto_update_debug_string och theme_auto_update_debug_string. Mer info och flera exempel finns här.

Utökade webbplatskartor i kärnan

En webbplatskarta är helt enkelt en lista med webbadresser som låter sökmotorer snabbt genomsöka din webbplats.

Webbplatskartor liknar robots.txt, med skillnaden att en robots.txt-fil utesluter innehåll från att indexeras, medan en webbplatskarta ger en lista över webbadresser som ska indexeras av sökmotorer.

Innan WordPress 5.5 kunde webbplatskartor bara läggas till WordPresswebbplatser med hjälp av ett plugin eller andra verktyg.

WordPress 5.5 kommer nu med en helt ny XML-webbplatskartefunktion till WordPress-kärnan.

Den nya funktionen ger grundläggande funktionalitet, men kommer med ett stort antal krokar och filter som gör att pluginutvecklare ytterligare kan utöka de inbyggda funktionerna.

XML-webbplatskartor är aktiverade som standard (om du inte vill hindra sökmotorer från att indexera din webbplats) och tillhandahåller följande objekttyper:

  • Startsida
  • Inläggssida
  • Kärnposttyper (sidor och inlägg)
  • Anpassade inläggstyper
  • Kärntaxonomier (taggar och kategorier)
  • Anpassade taxonomier
  • Författararkiv

Webbplatskarteindexet finns tillgängligt på /wp-sitemap.xml, som innehåller högst 2 000 webbadresser. När den maximala gränsen nås, läggs en ny webbplatskarta-fil till.

Exempel på WordPress-webbplatskarta
Exempel på WordPress-webbplatskarta

Som vi tidigare nämnt kan pluginutvecklare anpassa sina webbplatskartor med hjälp av en eller flera av de många tillgängliga åtgärderna och filtren. För en omfattande lista över webbplatskarterelaterade krokar, se plugindokumentationen och det introducerande blogginlägget.

Som ett exempel kan du programmatiskt inaktivera kärnwebbplatskartor med hjälp av wp_sitemaps_enabled-filtret, som filtrerar om XML-webbplatskartor är aktiverade eller inte:

add_filter( 'wp_sitemaps_enabled', '__return_false' );

Kärnwebbplatskartor bör inte stå i konflikt med webbplatskarteplugins som du kanske har installerat på din webbplats. Enligt Pascal Birchler på Make WordPress Core:

Kärnwebbplatskartefunktionen byggdes på ett robust och lätt utbyggbart sätt. Om två webbplatskartor av någon anledning hittas på en webbplats (en från kärnan, en från ett plugin), resulterar detta inte i några negativa konsekvenser för webbplatsens synlighet.

Som en del av XML-webbplatskartefunktionen kan en ny esc_xml()-funktion undgå strängar för XML-block. Funktionen och motsvarande filter dokumenteras i wp-includes/formatting.php.

Vid skrivande stund stöder den nya webbplatskartan inte bild/video/nyhets-kartor och förmodligen kommer detta inte att förändras i framtiden. Men nya filter och krokar gör det möjligt för utvecklare att lägga till den här funktionen i framtida versioner.

För mer information om utbyggbara webbplatskartor, se utvecklarens introduktion till webbplatskartor som täcker nya klasser, funktioner, krokar och filter.

Skicka Argument till mallfiler

Innan WordPress 5.5 var det endast möjligt att skicka data till mallfiler via globala variabler, query vars, och några andra icke-optimala alternativ. Från och med WordPress 5.5, har en $args-parameter lagts till i mall-laddningsfunktioner (motsvarande krokar har uppdaterats i enlighet därmed):

  • get_header()
  • get_footer()
  • get_sidebar()
  • get_template_part()
  • locate_template()
  • load_template()

Temautvecklare kan nu ställa in en variabel i en mallfil och göra den tillgänglig i alla inkluderade malldelar genom att helt enkelt skicka en array med argument.

Medan den här funktionen öppnar nya möjligheter för temautvecklare, ställer Justin Tadlock på WP Tavern en bra fråga:

En fråga kvarstår: kommer denna funktion för sent? WordPress är på rätt spår att förnya hela temasystemet för att integrera med den kommande webbplatsredigeringsfunktionen, kommer den här funktionen vara användbar under endast de närmaste månaderna?

En bra poäng kommer från John Blackbourne:

Även i en framtid med fullständig webbplatsredigering finns det fortfarande många behov av malldelar. Dynamiskt renderade blocktyper kan ha och har god användning av strukturerade malldelar, till exempel. De är inte ömsesidigt uteslutande, och det kommer alltid att finnas teman som inte använder blocken så värst mycket för sin layout.

Vi tog också kontakt med Enrico Sorcinelli, som bidragit till WP-kärnan, och som delade sina tankar med oss:

Om du frågar mig om vi kom för sent, är det aldrig för sent!
Jag tror att temautvecklare i framtiden kan dra nytta av denna möjlighet, vilket inte utesluter att det kan användas i symbios med den framväxande fullständiga redigeringsmetoden (t. ex. för block med dynamisk rendering).

Kanske är det helt enkelt för tidigt att säga exakt hur den här funktionen skulle passa ihop med fullständig webbplatsredigering, men en sak verkar säker: framtida utveckling kommer att ge stora möjligheter att bygga bättre webbplatser för både användare och utvecklare.

Uppdatera plugins och teman från en .ZIP-fil

Jag vet vad du tänker: det kan tyckas ganska konstigt att se den här funktionen i samband med automatiska uppdateringar. Ändå är det logiskt.

Innan WordPress 5.5, när det inte fanns en enklicksfunktion för uppdateringar kunde webbplatsadministratörer bara ladda upp plugin/temauppdateringar via FTP/SFTP eller filhanterare (lär dig skillnaden mellan FTP och SFTP). Det stämde mestadels för anpassade plugins/teman eller tillägg som hostades på tredjeparts marknadsplatser.

Från och med WordPress 5.5 kan du uppdatera plugins och teman genom att ladda upp ett .zip-paket från din dator inom din WordPresspanel.

Om du vill uppdatera ett plugin, bläddra till Plugins > Lägg till ny-skärmen och klicka på knappen Ladda upp Plugin. Om du har pluginet installerat på din webbplats kommer sedan en ny skärm berätta att ”detta plugin redan är installerat” och visar den aktuella versionen och uppladdade versionsdetaljer.

Detta plugin är redan installerat
Detta plugin är redan installerat

Processen är ungefär likadan för temauppdateringarna.

Bläddra till Utseende > Teman-skärmen, klicka sedan på Lägg till ny, sedan på Ladda upp Tema. Om du har temat installerat på din webbplats kommer sedan en ny skärm berätta att ”detta tema redan är installerat” och visar den aktuella versionen och uppladdade versionsdetaljer.

Detta tema är redan installerat
Detta tema är redan installerat

Ytterligare förbättringar för utvecklare med WordPress 5.5

Förutom vad vi har gått igenom hittills förtjänar ett par tillägg en utvecklares uppmärksamhet.

Ny wp_get_environment_type()-funktion

Med en ny wp_get_environment_type()-funktion kan du upptäcka den aktuella miljötypen av en webbplats, så att utvecklare kan anpassa plugin-och temafunktioner till den aktuella miljön.

Som standard returnerar wp_get_environment_type() produktion. Andra stödda värden är development och staging. Hur som helst får utvecklare definiera ytterligare miljötyper om det behövs.

Det finns tre metoder för att ställa in en miljötyp för en webbplats. Med början i högsta prioritet:

  • WP_ENVIRONMENT_TYPE PHP-miljövariabel.
  • WP_ENVIRONMENT_TYPE-konstant.
  • WP_GET_ENVIRONMENT_TYPE-filter.

Som exempel, om du vill ställa in din miljö till staging, kan du definiera WP_ENVIRONMENT_TYPE-konstanten i din wp-config.php-fil enligt nedan:

define( 'WP_ENVIRONMENT_TYPE', 'staging' );

Om miljötypen är development, kommer  WP_DEBUG automatiskt att ställas in på true även om du inte har definierat det uttryckligen.

REST API-förändringar i WordPress 5.5

WordPress 5.5 kommer också med många ändringar till REST API. Vi ser flera nya slutpunkter, nya parametrar och JSON schema-ändringar, nya funktioner och ytterligare förbättringar.

Här är en snabb lista över nya slutpunkter:

Blocktyper

En ny slutpunkt gör det möjligt att visa alla registrerade blocktyper:

  • GET/wp/v2/block-types kommer att returnera alla registrerade blocktyper.
  • GET/wp/v2/block-types/core kommer att returnera alla block inom namnplatsen för core.
  • GET/wp/v2/block-types/core/quote kommer att återvända kärnans quote-blockdefinition.

Plugins

En ny slutpunkt gör det möjligt att hantera plugins:

  • GET/wp/v2/plugins kommer att returnera en lista över alla installerade plugins.
  • GET/wp/v2/plugins/plugin-name/plugin-name kommer att returnera information om det angivna pluginet.
  • POST/wp/v2/plugins { slug: "plugin-name" } installerar det angivna pluginet från plugins-katalogen
  • PUT/wp/v2/plugins/plugin-name/plugin-name { status: "active" }  aktiverar det angivna pluginet
  • DELETE/wp/v2/plugins/plugin-name/plugin-name raderar ett inaktivt plugin.

Blockkatalog

En ny slutpunkt gör det möjligt att söka i blockkatalogen:

  • GET/wp/v2/block-directory/search?term=block-name söker i blockkatalogen efter block-name

Bildredigering

Tillsammans med den nya bildredigeringsfunktionen i inlägget, gör en ny slutpunkt det möjligt att redigera bildbilagor i mediebiblioteket:

POST/wp/v2/media/5/edit redigerar bilden med ID 5

Se WordPress Core dev notes för en närmare titt på alla ändringar i REST API som kommer med WordPress 5.5.

Sammanfattning

Vi är glada över alla dessa nya funktioner och förbättringar WordPress 5.5 för med sig i en enda utgåva.

Det visar den enorma mängd arbete som händer bakom kulisserna och vi uppskattar högt alla ansträngningar och allt engagemang från varje bidragsgivare till kärnan.

Om ändringarna ovan inte räcker för dig, bör du kolla in det här för ytterligare förbättringar du kan förvänta dig från WordPress 5.5:

Se till att gå med i vårt kostnadsfria webinar helt tillägnat WordPress 5.5!

Nu är det din tur. Vilka funktioner och/eller förbättringar gillar du mest i WordPress 5.5? Och vilka funktioner vill du lägga till i WordPress 5.6? Dela med dig av dina åsikter i kommentarsfältet nedan!

Carlo Daniele Kinsta

Carlo is a passionate lover of webdesign and front-end development. He has been playing with WordPress for more than 20 years, also in collaboration with Italian and European universities and educational institutions. He has written hundreds of articles and guides about WordPress, published both on Italian and international websites, as well as on printed magazines. You can find him on LinkedIn.