De introductie van Full-Site Editing (FSE) in WordPress benadrukt het groeiende belang van het theme.json bestand. Er is inmiddels een hele nieuwe hiërarchie en structuur om te begrijpen, samen met de verschillende properties om je te helpen bij het maken van je ontwerpen. Vooral de property blocks in theme.json is essentieel als je moderne, flexibele WordPress thema’s wilt maken met unieke blokken.

In deze handleiding verkennen we de ins en outs van de blocks property in theme.json, zodat je kunt werken met Blocks en ze kunt ontwerpen en stylen om meer dynamische en aanpasbare WordPress ervaringen te creëren.

De blocks property in theme.json begrijpen

Voordat we in de fijne kneepjes van de blocks property duiken, laten we eerst de rol ervan begrijpen binnen theme.json en de ontwikkeling van WordPress thema’s.

Een code editor venster met een deel van een theme.json bestand voor een WordPress thema. De JSON structuur definieert aangepaste templates voor “blanco”, “blog-alternatief” en “404” pagina's. De editor heeft een donker thema met syntax highlighting en de achtergrond toont een mistig boslandschap.
Het bestand theme.json van Twenty Twenty-Three.

Allereerst, theme.json is het configuratiebestand waarmee je globale stijlen en instellingen voor je thema’s kunt definiëren. Met deze “centrale hub” kun je verschillende aspecten van het uiterlijk en gedrag van je thema regelen, waaronder typografie, kleuren en layout opties. Het kan echter meer doen dan alleen programmatische cosmetische aanpassingen.

Met de property blocks heb je uitgebreide controle op individuele bloktypes in plaats van op de site als geheel. Je kunt standaard stijlen, instellingen en gedrag definiëren voor specifieke blokken, wat zorgt voor consistentie in je thema en flexibiliteit voor site-eigenaren.

De relatie tussen de blocks property en full-site editing

FSE is een meer visuele benadering van het bouwen van je site met blokken als kern. Aan de voorkant heb je de meeste styling- en aanpassingsopties voor je hele site:

Het hoofdscherm van de WordPress Site Editor, met een blauwe startpagina met de titel “Een streven naar innovatie en duurzaamheid”. De pagina featuret een moderne architectonische afbeelding en aanpassingsopties in een zwarte linker zijbalk.
De Full Site Editing interface in WordPress.

De property blocks is om een paar redenen een cruciaal onderdeel van het bestand theme.json:

  • Het biedt een gestandaardiseerde manier om blokstijlen en instellingen te definiëren.
  • Je kunt samenhangende ontwerpsystemen maken vanuit een programmatische basis.
  • Je kunt meer controle bieden over het uiterlijk van blokken zonder dat je custom CSS nodig hebt.
  • De property helpt je bij het maken van blokpatronen en templates.

Developers kunnen de property blocks gebruiken om thema’s te maken die optimaal gebruik maken van volledige full-site editing.

Hoe de blocks property te structureren (en zijn syntaxis)

De standaardisatie die de property blocks biedt, helpt als het gaat om structuur en syntaxis. Je nest hem altijd binnen het settings object:

{
"version": 3,
  "settings": {
    "blocks": {
      "core/paragraph": {
        "typography": {
          "fontSizes": [
            {
              "name": "Small",
              "slug": "small",
              "size": "13px"
            },
            {
              "name": "Medium",
              "slug": "medium",
              "size": "20px"
             }
           ]
…

Het bovenstaande voorbeeld definieert custom lettergroottes voor een Paragraph blok. Het opsplitsen van de belangrijkste componenten is eenvoudig:

  • Je nest de property blocks onder het object settings.
  • Elk bloktype heeft een namespace en naam (core/paragraph in dit geval).
  • Vervolgens specificeer je de instellingen van het blok binnen het object.

De instellingen omvatten het meeste van wat beschikbaar is voor globale stijlen. Ze kunnen bijvoorbeeld typografie, kleur, spacing en nog veel meer bevatten.

Globale blokinstellingen configureren

Laten we eens kijken hoe je globale instellingen definieert en vervolgens hoe dit de property blocks beïnvloedt. Zo leg je een basis voor een consistent ontwerp in je hele thema.

{
"version": 3,
  "settings": {
    "typography": {
      "fontSizes": [
        {
          "name": "Small",
          "slug": "small",
          "size": "13px"
        },
        {
          "name": "Medium",
          "slug": "medium",
          "size": "20px"
        }
…

In dit voorbeeld definiëren we de globale lettergrootten die beschikbaar zijn voor alle blokken. In de WordPress Site Editor kun je deze opties vinden in het scherm Typography > Elements > Text:

De WordPress Site Editor toont de opties van het paneel Styles voor tekst. Het toont lettertypeselectie en aanpassingsopties voor lettertype, grootte, uiterlijk, regelhoogte, spatiëring en hoofdletters.
De meeste typografie-instellingen van theme.json zijn ook toegankelijk in de site-editor.

Elke lettergrootte die je definieert binnen theme.json correleert met een van de grootteopties hier:

Een close-up van een code-editor met een deel van een WordPress theme.json bestand. De zichtbare code definieert lettergroottes, waaronder Small, Medium en Large met hun respectievelijke groottes in rem eenheden. De Large maat bevat een vloeiende typografie instelling. De editor gebruikt een donker thema met syntax highlighting tegen een wazige bosachtergrond.
Je stelt de voorinstellingen voor de lettergrootte in binnen het theme.json bestand.

Natuurlijk zijn er nog veel meer manieren om je thema vanaf hier aan te passen. Het idee is om een globaal ontwerp te maken dat in 80% van de gevallen werkt.

Met de property blocks kun je die corestijlen van Block overschrijven om de laatste 20% te dekken. Met het scherm Styles in de Site Editor kun je ook de ontwerpinstellingen voor elk blok aanpassen:

Een close-up van de interface van de WordPress Site Editor, met opties voor Content Block, zoals Paragraaf, Afbeelding, Kop en Galerij. Het hoofd content gebied toont de startpagina van de site.
Met de Site Editor kun je de instellingen voor alle WordPress blokken bewerken.

Dit is uitstekend voor eindgebruikers, maar van minder waarde voor een ontwikkelaar. We richten ons op het gebruik van theme.json om te werken met de property blocks.

Hoe je individuele bloktypes kunt aanpassen

Hoewel globale instellingen belangrijk zijn om consistentie te behouden, ligt de echte kracht in het bereik van de blocks property om aan te passen. Met deze instelling kun je op enorm gedetailleerd niveau het uiterlijk en gedrag van specifieke blokken aanpassen aan het ontwerp van je thema, net als de Site Editor.

Laten we eens kijken naar een voorbeeld van het aanpassen van het header blok voor je thema:

{
"version": 3,
  "settings": {
    "blocks": {
      "core/heading": {
        "typography": {
          "fontSizes": [
            {
              "name": "Small",
              "slug": "small",
              "size": "20px"
            },
            {
              "name": "Medium",
              "slug": "medium",
              "size": "30px"
            },
            {
              "name": "Large",
              "slug": "large",
              "size": "40px"
            }
            ],
            "fontWeight": "bold"
            },
            "color": {
              "palette": [
                {
                  "name": "Heading Primary",
                  "slug": "heading-primary",
                  "color": "#333333"
                },
                {
                  "name": "Heading Secondary",
                  "slug": "heading-secondary",
                  "color": "#666666"
                }
              ]
…

Je kunt zien dat de attributen weerspiegelen hoe je globale wijzigingen zou maken. Laten we samenvatten wat we doen:

  • We definiëren specifieke lettergroottes voor koppen en wijzen deze toe aan grootte labels.
  • Het gewicht van het lettertype voor alle koppen wordt gewoon vet.
  • Deze koppen krijgen ook een custom kleurenpalet.

Dit zorgt ervoor dat onze koppen er in het hele ontwerp consistent uitzien. We hebben ook controle over deze elementen als we niet weten hoe de eindgebruiker ze zal toepassen, wat een consistent ontwerp ten goede komt.

De juiste combinatie van namespace en slug gebruiken

Wanneer je blok types callt, is het cruciaal dat je de juiste namespace en slug combinatie gebruikt. Anders zijn je wijzigingen niet van toepassing op de blokken die je wilt callen.

Elk blok heeft een namespace en een slug. Core WordPress Blocks hebben meestal de core namespace. De slug is de naam van het blok:

…
"blocks": {
  "core/image": {
…

Als je de slug voor een blok wilt weten, dan kun je kijken naar het specifieke block.json bestand. Je vindt dit in de wp-includes/blocks directory. Hier heb je verschillende mappen die elk een block.json bestand bevatten. In elke map moeten de namespace en de slug voor het blok bovenaan het bestand staan:

Een deel van een macOS Finder-venster met de content van de codedirectory. Er is ook een deel van een code-editor met een geopend block.json bestand. De zichtbare code definieert eigenschappen voor een WordPress blok met de naam “core/code” met de titel “Code” en een beschrijving over het weergeven van stukjes code.
Het block.json bestand bevat belangrijke metadata voor elk afzonderlijk blok.

Als je door deze mappen bladert, zie je dat de wp-includes map een eigen theme.json bestand heeft. Hoewel dit misschien verwarrend lijkt, is het eenvoudig uit te leggen.

Waarom theme.json standaard custom blokinstellingen bevat

WordPress’ eigen theme.json bestand lijkt in eerste instantie misschien vreemd, namelijk omdat het geen thema is. Dit is echter geen toeval. De belangrijkste reden is om achterwaartse compatibiliteit met oudere versies van WordPress te ondersteunen.

Het Button blok stelt bijvoorbeeld een randradius in:

…
"blocks": {
  "core/button": {
    "border": {
      "radius": true
     }
  },
…

Andere blokken hebben vergelijkbare instellingen om te helpen bij de consistentie tussen verschillende versies van WordPress. Dit kan echter problemen veroorzaken als je er niet van op de hoogte bent.

Als je globale instellingen probeert te definiëren en je vraagt je af waarom die wijzigingen niet gelden voor specifieke blokken, dan kan achterwaartse compatibiliteit het antwoord zijn. Natuurlijk kun je deze instellingen zonder problemen overschrijven in je eigen theme.json bestand.

Custom blokken ontwikkelen met theme.json

Het theme.json bestand is ideaal voor het aanpassen van bestaande blokken, maar de mogelijkheden ervan strekken zich ook uit tot het ontwikkelen van custom blokken. Je kunt theme.json gebruiken om standaard stijlen en instellingen te definiëren voor elk van je custom blokken. Dit helpt je bij het leveren van naadloze integratie met het ontwerp van je thema.

Maar eerst moet je het blok zelf bouwen. Dit valt buiten het bestek van dit artikel, maar kort samengevat zijn er een paar facetten:

  • Het blok scaffolden. Dit omvat het opzetten van een lokale ontwikkelomgeving en het maken van de bestandsstructuur voor het hele blok.
  • Het block.json bestand bijwerken. Hier moet je de blok-identiteit veranderen en supports toevoegen. Dit laatste zijn manieren om de ondersteuning voor specifieke WordPress functionaliteiten aan te geven. Je kunt bijvoorbeeld de uitlijning regelen, anchorvelden implementeren, werken met verschillende typografie-instellingen en meer.
  • Pas de JavaScript-bestanden van de Block aan. Zowel index.js als edit.js hebben code nodig om WordPress te vertellen hoe het blok werkt en om het te laten verschijnen in de site-editor.

Mogelijk moet je ook render.php bewerken, statische rendering toevoegen en een heleboel andere taken uitvoeren. Op dit punt kun je stilistische wijzigingen aanbrengen op theme.json, net als bij elk ander blok. Laten we nu eens kijken naar block.json.

Het block.json bestand

Dit bestand is wat het WordPress ontwikkelteam de “canonical” manier noemt om blokken te registreren voor zowel de server- als de clientzijde. De metadata die je hier opneemt vertelt WordPress alles over het type blok en de ondersteunende bestanden:

{
  "$schema": "https://schemas.wp.org/trunk/block.json",
  "apiVersion": 3,
  "name": "my-plugin/notice",
  "title": "Notice",
  "category": "text",
  "parent": [ "core/group" ],
  "icon": "star",
  "description": "Shows warning, error or success notices...",
  "keywords": [ "alert", "message" ],
  "version": "1.0.3",
  "textdomain": "my-plugin",
  "attributes": {
    "message": {
      "type": "string",
      "source": "html",
      "selector": ".message"
    }
  },
…

Het is verwant aan de metadata die je bovenaan een PHP bestand zou plaatsen voor thema’s en plugins. Hoewel het bestand uitsluitend JSON gegevens gebruikt, kun je nog steeds code delen via PHP, JavaScript en CSS:

…
"editorScript": "file:./index.js",
"script": "file:./script.js",
"viewScript": [ "file:./view.js", "example-shared-view-script" ],
"editorStyle": "file:./index.css",
"style": [ "file:./style.css", "example-shared-style" ],
"viewStyle": [ "file:./view.css", "example-view-style" ],
"render": "file:./render.php"
…

We komen hier later op terug in het gedeelte over variaties. Om dit gedeelte af te sluiten, moet je weten hoe je jouw custom blok als standaard kunt instellen in WordPress. Er zijn een paar manieren om dit te bereiken. De klassieke manier is om een custom berichttype te registreren en de blokken daarin op te nemen. Er zijn echter nog een paar andere methoden.

Je kunt bijvoorbeeld een bestaand berichttype bijwerken om er een bloktemplate aan toe te voegen. Hier is een eenvoudig voorbeeld:

…
function load_post_type_patterns() {
    // Define an initial pattern for the 'HypnoToad' post type
    $post_type_object = get_post_type_object( 'hypnoToad' );
    $post_type_object->template = array(
    array(
        'core/block',
…

Een andere manier is om de hook default_content te callen en het blok te definiëren met markup:

function toad_content( $content, $post ) {
    if ( $post->post_type === 'hypnoToad' ) {
        $content ='
        <div class="is-layout-flex wp-container-1 wp-block-columns"><!-- wp:column →
        <div class="wp-block-column">
        <p></p>
        </div>
        


        <div class="is-layout-flow wp-block-column">
        <p></p>
        </div>
        </div>
        ';
    }
    return $content;
}
add_filter( 'default_content', 'toad_content', 10, 2 );

Natuurlijk zul je niet alleen JSON, HTML en PHP gebruiken. Je zult ook andere talen gebruiken om te helpen met ontwerp en interactiviteit. Het goede nieuws is dat WordPress je een ongecompliceerde manier geeft om dit te doen.

Custom CSS properties gebruiken voor je blokken

Je kunt veel bereiken door gebruik te maken van de bestaande properties, attributen en objecten van theme.json, maar dat zal niet elk gebruik dekken. Het bestand geeft je de property custom die je zal helpen bij het maken van relevante CSS properties:

{
"version": 3,
  "settings": {
    "custom": {
      "toad": "hypno"
    }
  }
}

Hierin geef je een key-value paar op, dat verandert in een CSS variabele aan de voorkant:

body {
    --wp--custom--toad: hypno;
}

Merk op dat de variabele dubbele koppeltekens gebruikt om de elementen te scheiden. Over het algemeen zie je altijd --wp--custom--, die dan de sleutel aan het einde tagt. Soms definieer je variabelen en properties met camel case:

{
"version": 3,
  "settings": {
    "custom": {
      "hypnoToad": "active"
    }
  }
}

Hier zal WordPress koppeltekens gebruiken om de woorden te scheiden:

body {
    --wp--custom--hypno-toad: active;
}

Tussen de property custom en block.json heb je alle ruimte om je Blokken naar eigen inzicht op te bouwen, inclusief alle variaties die je wilt toevoegen.

Een snelle blik op blok-, stijl- en blokstijlvariaties

Voordat we verder gaan met het stylen met behulp van de blocks property, kijken we eerst naar variaties. Je hebt een paar verschillende variatietypes voor je ontwerpen, en de naamgevingsconventies kunnen ervoor zorgen dat je het verkeerde type gebruikt voor wat je nodig hebt. Hier volgt een overzicht van de verschillen:

  • Blokvariaties. Als je blok alternatieve versies heeft (denk aan een blok dat veel custom links weergeeft die door de gebruiker zijn ingesteld), dan is dit een blokvariatie. Het Social Media Blok is hier een goed voorbeeld van.
  • Stijlvariaties. Dit zijn alternatieve versies van theme.json die werken op je globale site. We behandelen dit hier niet, maar de meeste Block-thema’s bieden ze aan voor verschillende kleurenpaletten en typografie-instellingen.
  • Blokstijlvariaties. Dit neemt de kernfunctionaliteit van stijlvariaties over en stelt je in staat om alternatieve ontwerpen voor een Block te maken.

Je vraagt je misschien af of je een blokvariatie of een blokstijlvariatie moet gebruiken; het antwoord is ongecompliceerd. Als de wijzigingen die je wilt aanbrengen binnen theme.json of met CSS kunnen worden doorgevoerd, maak dan een blokstijlvariatie. Iets anders vereist een blokvariatie.

Blokvariaties

Blokvariaties registreer je met JavaScript. Het is een goed idee om een bestand te maken in de map van een thema, maar het kan overal naartoe gaan. Er is één regel nodig om een variatie te registreren in je JavaScript-bestand:

const registerBlockVariation = ( blockName, variation )

Voor de blockName moet je hier ook de namespace opgeven, net als bij de blocks property. Binnen het variation object voeg je de naam, titel, beschrijving, of de variatie standaard actief is en meer toe. Om het bestand in de Site Editor te laden, roep je gewoon de enqueue_block_editor_assets hook aan en enqueue je je script daarin.

Blokstijlvariaties

Voor blokstijlvariaties heb je twee opties:

  • Gebruik de functie register_block_style() met PHP.
  • Maak een block-editor.js JavaScript-bestand, gebruik de registerBlockStyle() functie op dezelfde manier als bij Blokvariaties en enqueue het script.

Zodra je een blokstijlvariatie hebt geregistreerd, kun je de blok targeten met de property variations:

…
"styles": {
  "blocks": {
    "core/button": {
      "variations": {
        "outline": {
          "border": {
            "color": "var:preset|color|black",
            "radius": "0",
            "style": "solid",
            "width": "3px"
          },
…

Dit betekent dat je misschien helemaal geen custom CSS nodig hebt – bijna elk aspect van het ontwerp van een blok is mogelijk via de property blocks.

Een standaard blok stylen met de blocks property van begin tot eind

Om te demonstreren hoe de property blocks werkt, laten we een voorbeeld uit de praktijk bekijken. Onze site gebruikt het thema Twenty Twenty-Four en gebruikt de standaard stijlvariant:

De WordPress Site Editor toont een homepage aan de rechterkant, met het menu Styles aan de linkerkant. Er zijn verschillende opties om een alternatief kleurenschema te kiezen, samen met aanpassingsopties voor het palet.
Elk thema wordt vaak geleverd met verschillende stijlvariaties die er anders uitzien.

Tot nu toe ziet dit er voor ons ideaal uit – hoewel de koppen en de bodytekst qua kleur te veel op elkaar lijken. We willen een of beide kleuren veranderen om ze te onderscheiden. Als eindgebruiker of site-eigenaar kunnen we dit oplossen in de zijbalk Styles van de Site Editor. Als je naar Blocks > Heading gaat, kun je op het element Text klikken en de kleur veranderen in iets geschikter:

De interface van de WordPress Site Editor toont de startpagina van een website. Het hoofdinhoudsgebied toont een kop, een korte beschrijving en een knop Over ons, allemaal in het zwart. Daaronder staat een architectonische afbeelding van een modern gebouw met schuine houten latten. De rechter zijbalk toont de Stijlen opties, met een pop-out paneel om een tekstkleur te selecteren.
Je kunt individuele blokinstellingen eenvoudig wijzigen vanuit de site-editor.

Als developer kun je dit echter doen binnen theme.json. Net als bij elk ander thema kun je het beste een childthema maken om alle wijzigingen die je aanbrengt te behouden. Een tweede voordeel is dat je theme.json bestand er netter uitziet.

We maken een map binnen wp-content/themes/ en noemen die twentytwentyfour-child. Voeg hier een geldig style.css bestand en een leeg theme.json bestand toe.

Een macOS bestandsverkennervenster voor het twentytwentyfour-child thema met twee bestanden: style.css en theme.json, wat aangeeft dat het thema is ingesteld voor WordPress ontwikkeling.
Elke map met childthema’s heeft een style.css bestand en een theme.json bestand nodig.

Vanaf hier kun je het JSON bestand openen en aan de slag gaan.

Een theme.json bestand maken en vullen voor het childthema

Het belangrijkste verschil tussen het maken van een ouder- en kindthema met betrekking tot theme.json is de structuur van het bestand. Je hoeft niet per se het schema op te geven of alles in het settings object te zetten. In ons geval moeten we de property styles gebruiken:

{
"version": 3,
  "styles": {
    "blocks": {}
  }
}

Vervolgens moeten we de namespace en slug vinden voor het Heading blok. In de officiële Core Blocks Reference Guide staan deze allemaal opgesomd en er staat zelfs in welke attributen en properties het blok ondersteunt. De gids vertelt ons dat we de waarden background, gradient, link, en text kunnen aanpassen voor de property color.

"blocks": {
  "core/heading": {
    "color": {}
  }
}

Nu de structuur compleet is, kunnen we gaan uitzoeken hoe we de tekst kunnen restylen.

Een kleurenschema vinden en de wijzigingen toepassen

Nu hebben we een kleur nodig die past bij onze behoeften. De standaardvariant van Twenty Twenty-Four heeft een uitstekend kleurenpalet en door het te controleren in een speciale contrastchecker krijgen we wat ideeën:

De Coolors kleurpalet contrast checker toont verschillende kleurencombinaties met tekstvoorbeelden om de toegankelijkheid en leesbaarheid te beoordelen. Een vierkant met een rood gemarkeerd vak toont twee hexadecimale codes van compatibele contrasterende kleuren.
Je kleurenschema’s controleren op het juiste toegankelijke contrast is een belangrijke stap bij het ontwerpen van een thema.

Vervolgens kunnen we de kleurkeuze voor ons blok toevoegen aan theme.json. Omdat het hoofdthema van Twenty Twenty-Four custom CSS properties gebruikt om paletstijlen te definiëren, kunnen we dit hier ook callen:

…
"core/paragraph": {
    "color": { "text": "var(--wp--preset--color--contrast)" },
…

Als je de naam van een paletkleur moet weten, kun je die in de Site Editor vinden in de kleurenkiezer:

Een close-up van de interface van de Text Elements kleurenkiezer. Het toont een selectie van kleurstalen met hexadecimale kleurcodes, met de kleur Contrast ingesteld als de primaire optie.
Je kunt de naam van een kleur vinden door ernaar te kijken binnen een Site Editor kleurenpalet.

Zodra je je wijzigingen hebt opgeslagen, vernieuw je je site en zou je het nieuwe kleurenschema op zijn plaats moeten zien. Als dat niet het geval is, controleer dan of je de property blocks nest binnen het juiste object, want dit is een veelvoorkomend knelpunt.

Als we naar de site kijken, is de tekst minder contrasterend en gemakkelijker te lezen. We willen echter nog steeds wat definitie zien tussen het Paragraph blok en de omringende koppen. Het standaardpalet van het thema heeft een aantal andere, krachtigere kleuren. We gaan de Accent / 3 kleur proberen voor het Heading blok:

"blocks": {
  "core/heading": {
    "color": { "text": "var(--wp--preset--color--accent-3)" }
  },
  "core/paragraph": {
    "color": { "text": "var(--wp--preset--color--contrast)" }
  }
}

Nadat je de wijzigingen hebt opgeslagen en de voorkant hebt vernieuwd, zie je dat het Heading blok meer definitie heeft:

De WordPress Site Editor toont een homepage met een headerafbeelding van een moderne architectonische structuur. De hoofdinhoud toont de tekst “Een streven naar innovatie en duurzaamheid” in een oranjerode kleur.
De frontend wijzigt het kopblok op basis van de instellingen in theme.json.

Dit hoeft niet het einde te zijn van je bewerkingen. Je kunt zelfs de opties van de Site Editor aanpassen vanaf theme.json.

Attribuutopties toevoegen aan blokken

De ondersteuningen van elk blok bepalen de opties binnen de Site Editor. Het Paragraph blok schakelt bijvoorbeeld standaard de drop caps feature uit.

De WordPress Site Editor toont een close-up van de rechter zijbalk met opties. Het zwevende paneel voor het aanpassen van Typografie toont opties voor lettertype, grootte, uiterlijk, linehoogte, spatiëring, decoratie, oriëntatie en hoofdletters - maar geen drop cap.
De Site Editor laat je niet standaard kiezen om drop caps te implementeren.

We kunnen dit weer inschakelen in het bestand theme.json en de property blocks. Als we naar het referentiemateriaal kijken, kunnen we de typography-property gebruiken om de Drop Caps in te schakelen:

…
"core/paragraph": {
  "color": { "text": "var(--wp--preset--color--contrast)" },
  "typography": { "dropCap": true }
…

Zodra we deze wijzigingen opslaan en de editor verversen, is de optie om een druppelkap in te schakelen weer beschikbaar:

De interface van de WordPress Blok-editor toont een alinea Lorem Ipsum tekst met een grote drop cap. Er zijn typografische aanpassingsopties zichtbaar op de rechter zijbalk en het geopende menu Meer elementen toont de ingeschakelde Drop cap optie.
Het inschakelen van de Drop Cap functionaliteit in de WordPress Site Editor duurt enkele seconden met theme.json.

Het bestand theme.json is niet alleen een configuratie voor het ontwerp. Het kan ook helpen bij het toevoegen en verwijderen van functionaliteit in de Site Editor.

Hoe Kinsta’s managed hosting je WordPress thema-ontwikkeling kan ondersteunen

De fijne kneepjes van thema-ontwikkeling en theme.json zijn afhankelijk van kwaliteitsoplossingen in de hele ontwikkelingsketen om te profiteren van het potentieel voor betere prestaties.

Een lokale ontwikkelomgeving is cruciaal, want hiermee kun je WordPress sites maken, beheren en eraan sleutelen op je lokale machine. DevKinsta kan daarbij helpen.

Het dashboard Site-info binnen DevKinsta. Het toont technische details zoals WordPress versie, webserver en database type, samen met opties om de site te beheren.
De interface van DevKinsta.

DevKinsta biedt veel voordelen:

  • Het draait op Docker containers, wat betekent dat je je installatie isoleert van de rest van je machine. Zo kun je zonder zorgen je theme.json configuraties en custom blokken testen.
  • Je kunt snelle iteraties maken in je theme.json bestand en de resultaten direct zien in je lokale omgeving.
  • Het maken van meerdere lokale sites om je thema te testen met verschillende WordPress versies en configuraties is een fluitje van een cent.

Bovendien gebruik je geen resources van je server totdat je tevreden en klaar bent. De testomgevingen van Kinsta bieden een ideale volgende stap. Je kunt snel een kopie van je productiesite maken en deze zelfs naar je lokale omgeving pullen om verder te werken.

Dit is een geweldige manier om de prestaties van je thema te testen, vooral als je de testomgeving combineert met Kinsta’s Application Performance Monitoring (APM) tool.

Je kunt ook gebruikmaken van Kinsta’s Git-integratie in al je omgevingen. Hiermee kun je wijzigingen pushen en pull-en naar repo’s en van daaruit ook deployen.

Samenvatting

Het begrijpen van de property blocks in theme.json is een noodzakelijke stap voor alle thema-ontwikkelaars. Dit kan een globaal ontwerp unieker, samenhangender en relevanter maken. De volledige mogelijkheid om te werken met individuele kern- en custom blokinstellingen helpt elke gebruiker om de mogelijkheden van full-site editing te benutten. Bovendien betekent het beschikbaar hebben van deze opties in de Site Editor dat eindgebruikers hun eigen wijzigingen kunnen aanbrengen zonder code, terwijl je standaardopties presenteert.

Heb je vragen over het gebruik van de property blocks met het bestand theme.json? Stel ze gerust in de comments hieronder!

Jeremy Holcombe Kinsta

Content & Marketing Editor bij Kinsta, WordPress Web Developer en Content Writer. Buiten alles wat met WordPress te maken heeft, geniet ik van het strand, golf en films. En verder heb ik last van alle problemen waar andere lange mensen ook tegenaan lopen ;).