Twenty Twenty-One is het nieuwe standaard WordPress thema bij WordPress 5.6. Als je een WordPress thema met allerlei vernieuwende features verwachtte, dan ben je waarschijnlijk enigszins teleurgesteld.
Twenty Twenty-One is een minimalistisch thema dat je het beste kan vergelijken is met een leeg blad, zowel qua uiterlijk als qua functies. Net als bij de voorgangers gebruikt het nieuwe standaardthema vooral de Blok Editor om pagina’s samen te stellen.
In dit artikel zullen we de meest interessante functies van Twenty Twenty-One bekijken, en laten zien hoe je de look en feel van een WordPress website eenvoudig kan aanpassen via een Twenty Twenty-One childthema.
Ben je er klaar voor? Laten er dan meteen induiken!
Eerste impressie van het Twenty Twenty-One WordPress thema
Net als Twenty Twenty is het nieuwe standaardthema van WordPress 5.6 niet helemaal “from scratch” ontwikkeld, maar is het een variatie op een populair thema vanuit de WordPress community.
Twenty Twenty-One is ontwikkeld op basis van een nieuw thema van Automattic, het Seedlet thema, dat een strakke en georganiseerde structuur van nested CSS custom properties biedt. Dankzij het uitgebreide gebruik van CSS properties in het stylesheet van het thema, is het bouwen van childthema’s van Twenty Twenty-One snel en eenvoudig.
Twenty Twenty-One is een erg toegankelijk, minimalistisch WordPress thema met één kolom als layout, een footer zijbalk, en twee menulocaties: primaire navigatie en footer navigatie.
Het nieuwe thema gebruikt een stack van systeemlettertypen. Dit biedt diverse voordelen voor zowel gebruikers als developers:
- Het belangrijkste hiervan is dat een stack van systeemlettertypen (system fonts) diverse voordelen heeft voor UX en prestaties doordat native lettertypen al ondersteund worden door de meeste besturingssystemen, en dus niet meer geladen hoeven te worden.
- Daarnaast zien ze er neutraal uit, zodat ze soepel in elk soort ontwerp passen.
- Als laatste hoeven er geen extra lettertypebestanden gedownload te worden, waardoor het makkelijker wordt voor gebruikers en developers om de layout van een website met het Twenty Twenty-One thema aan te passen.
Het Twenty Twenty-One thema gebruikt een minimalistisch kleurenpalet gebaseerd op pastelgroene achtergrondkleuren en twee tinten grijs van voorgrondkleuren. Het thema biedt daarnaast diverse extra pastelkleuren.
Hierover legt Mel Choyse-Dwan, hoofd design van het standaardthema het volgende uit:
We zullen het thema aanbieden met enkele extra kleurenpaletten, waaronder zowel een wit als een zwart kleurenschema. Waarom pastelgroen? Pastelkleuren en tussenkleuren zijn nu in.
Zo installeer je Twenty Twenty-One
Op het moment van schrijven wordt Twenty Twenty-One nog actief ontwikkeld en is het nog niet beschikbaar om te downloaden in de WordPress themabibliotheek. Maar je kan al wel vast een conceptversie van het thema vinden op GitHub.
De Github repository zal gedeactiveerd worden zodra het thema met de kern samengevoegd wordt, en vanaf dan kan je het thema gewoon in de themabibliotheek vinden. Aangezien Twenty Twenty-One het WordPress 5.6 release-schema volgt, wil je wellicht de volgende data in je agenda noteren:
- 20 Oktober 2020: Beta 1
- 27 Oktober 2020: Beta 2
- 2 November 2020: Beta 3
- 12 November 2020: Beta 4
- 17 November 2020: RC 1
- 1 December 2020: RC 2
- 7 December 2020: Dry run voor de release van WordPress 5.6
- 8 December 2020: Geplande datum voor de release van WordPress 5.6
Om het Twenty Twenty-One thema aan de gang te krijgen volg je deze stappen:
- Haal het zip-bestand van GitHub.
- Upload je pakket naar je development installatie vanaf het WordPress dashboard of via SFTP.
- Ga naar Weergave → Thema’s en klik op de knop Activeren bij de preview van het thema.
- Ga naar Weergave → Customizer om Twenty Twenty-One verder in te stellen.
Je kan nu gaan testen met het thema via een testwebsite of in je lokale omgeving.
Ben je er nog niet klaar voor om je tests uit te voeren?
Geen zorgen, wij hebben al flink zitten wroeten in het thema, en zullen je laten zien wat je kan verwachten van Twenty Twenty-One.
De blokken en functies van het Twenty Twenty-One thema
Net als bij Twenty Twenty is het nieuwe standaard WordPress thema geen volledig functioneel thema, maar meer een minimalistisch thema dat de Blok Editor gebruikt voor het bouwen van pagina’s. Het thema richt zich ook op het bieden van maximale toegankelijkheid. In de woorden van Mel Choyce-Dwan:
Verder willen we heel graag dat het thema voldoet aan de relevante richtlijnen van WCAG 2.1 level AAA. We vonden het idee van +make.wordpress.org/accessibility/ geweldig, en we waarderen alle hulp en tips van community experts om dit mogelijk te maken.
Het thema ondersteunt een aanzienlijk aantal thema- en blokfuncties waaronder de volgende:
Themafuncties:
- Automatisch feed links
- Title tag
- Artikel formats
- Artikel thumbnails
- HTML5 elementen
- Custom logo
- Selectieve refresh voor widgets
- Custom achtergrond
- Twee navigatiemenu’s
- Eén zijbalk
Blokfuncties:
- Standaard blokstyles
- Editor styles
- Dark editor styles (donkere achtergrond)
- Brede uitlijning
- Blok lettertype groottes
- Blok kleurenpaletten
- Blok presets voor kleurverloop
- Startcontent
- Responsieve embeds
- Custom regelhoogte
- Experimentele linkkleur
- Experimentele custom spacing
- Custom units (verwijderd in WordPress 5.6)
De volgende lijst bevat functies die vooral relevant zijn wanneer je een website wil bouwen op basis van Twenty Twenty-One.
Navigatiemenu’s
Twenty Twenty-One ondersteunt twee locaties voor je menu’s, de Primary Navigation, rechtsboven in de header, en de Footer Navigation.
Wanneer je het footermenu gebruikt, worden sociale links automatisch gedetecteerd en omgezet naar SVG iconen voor ondersteunde social media.
Artikel formats
Twenty Twenty-One ondersteunt negen artikelformats: link, aside, gallery, image, quote, status, video, audio, chat. Je kan je artikelformat kiezen in het paneel Status & Visibility binnen de instellingen van de editor.
Om te zien hoe Twenty Twenty-One omgaat met artikelformats, ga je naar de map template-parts/excerpt en kies je een template. Open bijvoorbeeld het bestand excerpt-image.php in de code-editor van je voorkeur. In dat bestand zie je dan de volgende code:
/**
* Show the appropriate content for the Image post format.
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
*
* @package WordPress
* @subpackage Twenty_Twenty_One
* @since 1.0.0
*/
// If there is no featured-image, print the first image block found.
if (
! twenty_twenty_one_can_show_post_thumbnail() &&
has_block( 'core/image', get_the_content() )
) {
twenty_twenty_one_print_first_instance_of_block( 'core/image', get_the_content() );
}
the_excerpt();
De code is helder gedocumenteerd en goed leesbaar, maar laten we er toch even langs lopen:
has_block
bepaalt of een artikel of een string een specifiek blok type bevat (zoals het afbeeldingsblok in dit voorbeeld).twenty_twenty_one_print_first_instance_of_block
is een Twenty Twenty-One templatefunctie dat de eerste instantie van een blok in de content print, en dan afbreekt.
Wanneer een websitebezoeker dus een archief van het artikel van het format ‘image’ wil zien, zal WordPress voor elk artikel in het archief een afbeelding weergeven. Door deze logica te volgen kan je elk artikelformat bekijken door de bijbehorende sjabloondelen te bekijken.
Site identity en custom logo
Twenty Twenty-One ondersteunt een 300×100 px custom logo. Je kan instellingen voor een custom logo vinden in het scherm Site Identity.
Dit bevat onder meer:
- Custom logo
- Site Title
- Tagline
- Site Icon
Editor Font Sizes
Twenty Twenty-One ondersteunt de volgende lettertype groottes:
- Extra small – 16
- Small – 18
- Normal/Medium – 20
- Large – 24
- Extra large – 40
- Huge – 96
- Gigantic – 144
In het stylesheet van het thema wordt de grootte ingesteld in rem
units.
Kleurinstellingen
De Theme Customizer biedt een scherm Colors & Dark Mode waaronder de volgende twee keuzes:
- Een eenvoudige kleurenkiezer met 10 ingestelde kleurenpaletten.
- Een selectievakje voor het in- en uitschakelen van de dark mode.
De afbeelding hieronder laat een lichtgele achtergrondkleur zien met een donkergrijze tekst.
De standaardinstelling voor de achtergrondkleur is pastelgroen ('#d1e4dd'
), maar site-admins kunnen eenvoudig naar een alternatieve achtergrondkleur switchen:
- Black =
'#000000'
; - Dark gray =
'#28303D'
; - Gray =
'#39414D'
; - Green =
'#D1E4DD'
; - Blue =
'#D1DFE4'
; - Purple =
'#D1D1E4'
; - Red =
'#E4D1D1'
; - Orange =
'#E4DAD1'
; - Yellow =
'#EEEADD'
; - White =
'#FFFFFF'
;
Dezelfde kleuren zijn ook beschikbaar als blok kleurenpalet in de blokinstellingen in de editor.
Daarnaast ondersteunt Twenty Twenty-One diverse gradient presets voor blok die deze feature ondersteunen. De afbeelding hieronder laat de standaard kleurschakeringen zien in de instellingen van de Columns blok.
Vanuit het perspectief van toegankelijkheid is de ondersteuning voor Dark Mode (donkere modus) een absolute innovatie voor een standaardthema.
Laten we daar dus eens beter naar kijken!
Ondersteuning voor dark mode in Twenty Twenty-One
Als gevolg van een discussie op het Slack kanaal #core-themes, introduceerde Mel Choyce-Dwan ondersteuning voor Dark Mode voor Twenty Twenty-One.
Eerst was het niet helemaal duidelijk of deze functie geïmplementeerd zou worden in Twenty Twenty-One als thema-functie of als een apart project dat als plugin verkrijgbaar zou zijn.
Er waren vijf mogelijke opties om uit te kiezen:
- Sitebeheerders toestaan om ondersteuning voor dark mode uit te schakelen, en sitebezoekers om de dark mode aan/uit te schakelen tijdens het bekijken van de site.
- Toestaan dat sitebeheerders de ondersteuning voor dark mode uitschakelen (dus zonder optie voor bezoekers om de dark mode aan/uit te zetten).
- Ondersteuning voor dark mode inschakelen en op “always on” zetten, waarbij bezoekers het kunnen in- en uitschakelen.
- Inschakelen van dark mode als “always on”, waarbij bezoekers dit niet aan/uit kunnen zetten.
- Dark mode niet ondersteunen.
Na diepgaande discussies werd Dark Mode toegevoegd aan het thema. Dat betekent:
- Dark Mode ondersteuning is beschikbaar als opt-in functie voor sitebeheerders .
- De schakelaar is verwijderd van de interface van de editor en is alleen beschikbaar via de Customizer.
- De schakelknop voor de Dark Mode is rechtsonder te vinden (links op RTL) en verdwijnt wanneer een bezoeker naar beneden scrolt.
- Wanneer Dark Mode is ingeschakeld kunnen bezoekers het zelf aan/uit zetten op basis van hun voorkeur, onafhankelijk van de instellingen van hun OS of browser.
Alhoewel dark mode wordt gezien als verbetering voor de toegankelijkheid, is het niet vanzelfsprekend dat je pagina’s daarmee in elke context toegankelijker worden.
De grootste uitdagingen treden op bij donkere logo’s en transparante afbeeldingen. Wanneer je van een standaard lichte template naar een donkere achtergrondkleur gaat, kan dat problemen voor de leesbaarheid opleveren waardoor het gebruiksgemak juist vermindert en het uiterlijk van je website verslechtert.
Zo kan een donker logo op een lichte achtergrond bijvoorbeeld helemaal verdwijnen wanneer lezers zelf Dark Mode inschakelen. Vergelijkbare problemen treden op bij de helderheid en contrast van afbeeldingen en doorzichtigheid van grenzen, dividers en separators.
Ben je van plan om dark mode toe te voegen aan je website, dan moet je goed testen hoe je website eruit ziet met een donkere achtergrond.
Mensen die aan het thema werken zijn zich hier bewust van, en de discussie loopt nog altijd op GitHub. Voor een gedetailleerd overzicht van problemen rond de bruikbaarheid van de dark mode en het bijdragen aan de discussie, vind je hier op GitHub de hele lijst met problemen.
Voorkeuren voor dark mode worden opgeslagen in de LocalStorage en kunnen bekeken worden via de developer tools van de browser.
In Google Chrome kan je daarvoor Chrome WebTools starten en klikken op het tabblad Application. Zoek het deel Storage en klap het menu Local Storage uit.
Om eerlijk te zijn is Dark Mode ook niet meer een veelvoorkomend onderwerp rondom moderne websites. Maar aangezien het nieuwe standaardthema van WordPress dark mode nu ondersteunt kunnen we binnen dit gebied van toegankelijkheid veranderingen verwachten, aangezien WordPress de meest gebruikte CMS software is.
Developers die verder in de technische materie willen duiken moeten vooral eens deze gedetailleerde gids over dark mode op het web lezen.
Styles en CSS custom properties
Dat gezegd hebbende is het nu tijd om de meest interessante functie van Twenty Twenty-One voor themadevelopers te bekijken.
Laten we beginnen met CSS custom properties.
Zoals hierboven gezegd, is Twenty Twenty-One gebaseerd op Seedlet, een thema met dubbele kolommen, een footer zijbalk en drie menulocaties. De styling van Seedlet is volledig gebaseerd op CSS custom properties, wat het makkelijker maakt voor themadevelopers en gevorderde gebruikers om child-thema’s te bouwen op het thema van Automattic.
Hetzelfde geldt voor Twenty Twenty-One. Het nieuwe standaardthema biedt een layout met enkele kolom, een footer zijbalk en twee menu-locaties. Het stylesheet volgt het systeem van nested custom properties dat Seedlet gebruikt, waardoor Twenty Twenty-One een ideaal startpunt is voor het bouwen van child-thema’s en gepersonaliseerde websites.
CSS custom properties (ook wel CSS variables genoemd) zijn speciale entities die specifieke waarden bevatten die je overal in je stylesheet kan gebruiken.
Als je dus bijvoorbeeld een specifiek kleuraccent wil veranderen binnen je document, hoef je geen zoekopdracht te doen of je die specifieke kleur ergens in je stylesheet kan vinden. In plaats daarvan stel je gewoon een andere property value in binnen het :root
blok.
Ter illustratie van een eenvoudige aanpassing: stel dat je een bepaalde achtergrondkleur wil instellen. Daar heb je geen child-thema voor nodig. Je moet in plaats daarvan simpelweg twee CSS declarations opnemen in je code-editor van het Additional CSS paneel:
:root {
--global--color-beige: #e6d7c1;
}
body {
background-color: var(--global--color-beige);
}
CSS custom properties zijn veilig te gebruiken aangezien ze ondersteund worden door alle grote browsers, zoals te zien is in de afbeelding hieronder van Can I Use:
Wil je dieper ingaan op CSS custom properties, bekijk dan eens de MDN Documentatie.
Twenty Twenty-One blokpatronen
Twenty Twenty-One biedt diverse patronen voor de Blok Editor. In een vorig blogartikel definieerden we Blokpatronen als voorgedefinieerde bloklayouts waarmee gebruikers snel complexe structuren van nested blocks aan hun pagina’s kunnen toevoegen.
WordPress 5.5 introduceerde een handjevol blokpatronen en in WordPress 5.6 verwachten we er nog meer. Daarnaast biedt Twenty Twenty-One een eigen set van blokpatronen.
In Twenty Twenty-One, worden blokpatronen gedefinieerd in het bestand inc/block-patterns.php . Twenty Twenty-One patronen variëren van eenvoudige patronen zoals het Large Text patroon, dat slechts één H2 element bevat, tot meer complexe patronen, zoals Overlapping Images and Text en Media and Text Article Title.
Op dit moment biedt het thema de volgende patronen:
- Large Text
- Links Area: Een grote tekst gevolgd door sociale netwerken en links naar een e-mailadres.
- Media and Text Article Title: Een Media & Text blok met links een grote afbeelding en rechts een heading. De heading wordt gevolgd door een separator en beschrijvende paragraaf.
- Overlapping Images: Drie afbeeldingen in een blok met overlappende kolommen.
- Two Images Showcase: Een Media & Text blok met links een grote afbeelding een rechts een kleinere afbeelding met omlijning.
- Overlapping Images and Text: Een blok met overlappende kolommen, met twee afbeeldingen en een beschrijving.
- Portfolio List: Een projectlijst met thumbnail afbeeldingen.
- Contact Information: Een blok met 3 kolommen, met contactinformatie en links naar social media.
Keuze uit zoveel blokpatronen is ideaal voor zowel gebruikers als developers. Gebruikers kunnen hiermee makkelijk en snel complexe blokken met code toevoegen aan hun artikelen en pagina’s, terwijl developers die patronen kunnen gebruiken voor handige sjablonen waarop ze eigen variaties kunnen bouwen.
Het Twenty Twenty-One blokexperiment
Twenty Twenty-One Blocks is een aparte experimentele versie van het Twenty Twenty-One thema, helemaal gebaseerd op blokken. Het doel ervan is om iedereen te betrekken bij wat er gebeurt bij het Full Site Editing experiment, waardoor iedereen de nieuwe FSE functies kan bekijken voordat ze onderdeel worden van de WordPress kern.
Het is onwaarschijnlijk dat we deze experimentele versie als onderdeel van de kern zullen zien bij WordPress 5.6. volgens Carolina Nymark:
Het thema heeft Gutenberg en de Full Site Editing experiment nodig om te kunnen draaien. Het zal geen onderdeel van de kern worden, maar wel beschikbaar zijn in de themabibliotheek wanneer het klaar is.
Op het moment van schrijven, vereist Twenty Twenty-One Bloks de Gutenberg plugin. Nadat zowel de plugin als het thema geïnstalleerd en geactiveerd zijn, verschijnt er een Site Editor menu-item in je WordPress admin menu (je hoeft het Full Site Editing experiment niet meer apart te activeren).
Vervolgens klik je op het nieuwe Site Editor menu-item om de Full Site Editing interface te openen en te beginnen met het bewerken van een element op de pagina via de blok editor.
We zullen de technische details hier even laten voor wat ze zijn. Het is in ieder geval al duidelijk dat klassieke thema’s en op blokken gebaseerde thema’s compleet anders werken.
De afbeelding hieronder laat de content van de map Twenty Twenty-One Blocks zien:
Het bestand experimental-theme.json en de mappen block-templates en block-template-parts vallen meteen op.
Het grote verschil tussen traditionele WordPress thema’s en op blokken gebaseerde thema’s is dat deze laatste groep thema’s templates biedt die volledig uit blokken bestaan.
Open bijvoorbeeld maar eens block-template-parts/header.html in je code-editor. Daar zie je de volgende code:
<!-- wp:spacer {"height":70} -->
<div style="height:70px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->
<!-- wp:columns {"align":"wide"} -->
<div class="wp-block-columns alignwide"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:site-title /-->
<!-- wp:site-tagline /--></div>
<!-- /wp:column -->
<!-- wp:column -->
<div class="wp-block-column"><!-- wp:navigation {"orientation":"horizontal","itemsJustification":"right"} -->
<!-- wp:navigation-link {"label":"Home","url":"#"} /-->
<!-- wp:navigation-link {"label":"Blog","url":"#"} /-->
<!-- wp:navigation-link {"label":"Work","url":"#"} /-->
<!-- wp:navigation-link {"label":"Contact","url":"#"} /-->
<!-- /wp:navigation --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->
<!-- wp:spacer {"height":70} -->
<div style="height:70px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->
Zoals je ziet, is het klassieke header.php templatebestand vervangen door een .html bestand met diverse blokken.
Je kan de conceptversie van het Twenty Twenty-One Blocks thema vinden in het theme-experiments project op GitHub.
Als themadeveloper vind je in de officiële documentatie alle informatie die je nodig hebt over deze block-based thema’s.
Wil je graag bijdragen aan het Full Site Editing Experiment, deel je feedback dan hier.
Zo maak je een child-thema van Twenty Twenty-One
Standaard WordPress thema’s zijn een goed startpunt om de basics van themadevelopment onder de knie te krijgen en om te beginnen met het bouwen van custom child-thema’s.
Standaardthema’s volgen de richtlijnen van de officiële WordPress Coding Standards en voldoen aan webstandaarden.
Is er ergens een betere plek om te leren programmeren?
Child-thema’s zijn een handige WordPress feature waarmee je eenvoudig de layout, functies en structuur van je pagina’s kan aanpassen. Met de volgende voorbeelden zullen we elk aspect van thema customization verder uitdiepen.
Opzetten van je child-thema
Het bouwen van een WordPress child-thema doe je in 3 stappen:
1. Maak een map voor je child-thema
Maak een nieuwe map aan in wp-content/themes en geef het een toepasselijke naam. Onthoud dat de naam uniek moet zijn. Het Child Themes handbook raadt je aan om dezelfde naam als het parent-thema te gebruiken, met -child aan het eind toegevoegd.
We zouden de map dan dus twentytwentyone-child kunnen noemen.
2. Maak een style.css bestand
Ga nu naar je nieuwe map en maak daarin een nieuwe style.css bestand met de volgende code:
/*
Theme Name: My Twenty Twenty One Child Theme
Theme URI: https://example.com
Description: A child theme for Twenty Twenty One.
Author: Your Name
Author URI: https://example.com/
Template: twentytwentyone
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
De informatieheader zorgt ervoor dat WordPress je child-thema goed kan lezen.
- Theme Name: De unieke naam die je aan het thema geeft.
- Theme URI: Waar gebruikers de code of documentatie voor het thema kunnen vinden.
- Description: De omschrijving, die helder aangeeft wat het thema doet.
- Author: Je eigen naam
- Author URI: De website van de auteur.
- Template: De map waar het parent-thema opgeslagen is. Gebruik de naam van de map van het thema, en niet de naam van het thema. Zonder deze regel code zal je thema niet als child-thema werken.
- Version: Het versienummer
- License: De licentie, die GNU moet zijn.
- License URI: Link naar informatie over de licentie.
Onder die tekst kan je CSS blokken met declarations toevoegen, zoals we zometeen zullen laten zien.
3. Maak een functions.php bestand
Met Twenty Twenty-One zul je ook een functions.php bestand nodig hebben. Maak daarom een eigen bestand aan binnen de map van het child-thema, open dit in je code-editor en voeg de volgende code toe:
<?php
/* enqueue scripts and style from parent theme */
function twentytwentyone_styles() {
wp_enqueue_style( 'child-style', get_stylesheet_uri(),
array( 'twenty-twenty-one-style' ), wp_get_theme()->get('Version') );
}
add_action( 'wp_enqueue_scripts', 'twentytwentyone_styles');
Aangezien het Twenty Twenty-One thema get_template_directory()
gebruikt om de stylesheet te laden, moet je de stylesheet van het child-thema aan de rij toevoegen via de wp_enqueue_scripts
action.
Nadat je dit gedaan hebt, sla je je bestanden op, open je WordPress dashboard en ga naar Weergave -> Thema’s, en activeer je je eigen spiksplinternieuwe child-thema van Twenty Twenty-One.
Nu gaan we onze eigen aanpassingen toevoegen.
Toevoegen van custom styles
Als het gaat om het aanpassen van de layout van je WordPress website, heb je diverse mogelijkheden om je eigen custom CSS code toe te voegen. Het scherm Additional CSS van de Customizer is goed genoeg voor kleine aanpassingen.
Maar een child-thema is een betere keuze als je van plan bent om complexere aanpassingen te maken, of wanneer je je code op meerdere WordPress websites wilt gebruiken.
Laten we het eens uitproberen met een eenvoudige aanpassing: een andere standaard lettertype stack.
Stel dat je een andere stack met lettertypen wilt laden, of gewoon je eigen favoriete lettertype wilt toevoegen aan de standaard Twenty Twenty-One font families.
Hoe doe je dat dan?
Ik zal je hier laten zien hoe je het standaardlettertype voor H1 headings verandert, maar je kan de font family van elk gewenst tekstelement op je website op dezelfde manier veranderen.
Open allereerst het style.css bestand van Twenty Twenty-One en zoek het volgende blok met CSS:
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
clear: both;
font-family: var(--heading--font-family);
font-weight: var(--heading--font-weight);
}
Zoals je kan zien, is de font family voor headings ingesteld via de variabele --heading--font-family
.
Ga nu naar het :root{}
blok en zoek deze declaration:
--heading--font-family: var(--global--font-primary);
--heading--font-family
is afhankelijk van de --global--font-primary
variabele, welke gedefinieerd wordt helemaal bovenaan het :root{}
blok:
:root{
/* Font Family */
--global--font-primary: var(--font-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif);
...
}
Kopieer de --global--font--primary
declaration van het stylesheet van de parent en kopieer het in style.css van je child-thema. Verander vervolgens de naam en waarde van de property zoals hieronder te zien is:
:root{
/* Font Family */
--global--font-primary-child: var(--font-headings, Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, "Helvetica Neue", sans-serif);
--global--font-family-child: var(--global--font-primary-child);
}
Nadat je je custom font stack hebt gedefinieerd, kan je het overal in je stylesheet gebruiken. In de H1 headings in ons voorbeeld:
h1,
.h1 {
font-family: var(--global--font-family-child);
}
Sla het style.css van je child-thema op en laad de pagina opnieuw. Je zou nu Ubuntu als nieuwe standaard font family moeten zien bij de headings van je pagina.
Nu je weet hoe je Twenty Twenty-One kan aanpassen via een child-thema, kunnen we ook de geavanceerdere functies gaan verkennen.
Zo voeg je nieuwe blokpatronen toe
In dit voorbeeld bouwen we een custom blokpatroon met een blok voor twee kolommen, met een afgeronde afbeelding aan de linkerkant, een H4 heading en een paragraaf aan de rechterkant.
Je kan je patroon meteen in de Blok Editor opbouwen of de code aanpassen van een bestaand blokpatroon.
Kies je ervoor om je patroon te bouwen in de Blok Editor, dan hoef je alleen maar de benodigde blokken toe te voegen aan een artikel of pagina, en dan naar de Code Editor te switchen om de benodigde code toe te voegen.
Nu kunnen we ons patroon registreren in het functions.php bestand van ons child-thema:
add_action( 'init', function(){
register_block_pattern_category(
'custom-patterns',
array( 'label' => esc_html__( 'Custom patterns', 'twentytwentyone-child' ) ) );
register_block_pattern(
'twentytwentyone-child/custom-bio-pattern',
array(
'title' => __( 'Author Bio', 'twentytwentyone-child' ),
'description' => _x( 'A block with 2 columns that displays an avatar image, a heading and a paragraph.', 'Block pattern description', 'twentytwentyone-child' ),
'content' => '<!-- wp:columns {"verticalAlignment":null} --> <div class="wp-block-columns"><!-- wp:column {"verticalAlignment":"center","width":"33.33%"} --> <div class="wp-block-column is-vertically-aligned-center" style="flex-basis:33.33%"><!-- wp:image {"id":29,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} --> <figure class="wp-block-image size-large is-style-rounded"><img src="' . esc_url( get_stylesheet_directory_uri() ) . '/assets/images/Kinsta-logo.png" alt="Kinsta" /></figure> <!-- /wp:image --></div> <!-- /wp:column --> <!-- wp:column {"width":"66.66%"} --> <div class="wp-block-column" style="flex-basis:66.66%"><!-- wp:heading {"level":4} --> <h4>About Kinsta</h4> <!-- /wp:heading --> <!-- wp:paragraph --> <p>Kinsta was founded in 2013 with a desire to change the status quo. We set out to create the best hosting platform in the world, and that’s our promise. We don’t settle and are here to stay.</p> <!-- /wp:paragraph --></div> <!-- /wp:column --></div> <!-- /wp:columns -->',
'categories' => array( 'custom-patterns' ),
)
);
});
De bovenstaande code registreert de categorie Custom patterns en het patroon Author Bio.
Let op de code die we voor het img
element hebben gebruikt:
<img src="' . esc_url( get_stylesheet_directory_uri() ) . '/assets/images/Kinsta-logo.png" alt="Kinsta" />
De get_stylesheet_directory_uri()
function geeft de URI met de map van het child-thema (de afbeelding hadden we eerder toegevoegd aan de assets map van het child-thema).
Sla je bestanden op en maak een nieuw artikel of pagina.
Je zou nu het nieuwe patroon moeten zien in de blok-inserter.
Customizen van een templatebestand
Wanneer je een nieuwe template wil aanmaken voor een specifiek archief of een enkele pagina/artikel, dan moet je een nieuw .php template maken dat de Template Hierarchy van WordPress volgt.
Maar als je alleen een bestaand sjabloon (of deel van een sjabloon) wil bewerken, dan hoef je alleen maar het originele sjabloon van het parent-thema te kopiëren en te plakken op dezelfde plek binnen je child-thema (lees meer over dit onderwerp in onze uitgebreide gids over child-thema’s).
Stel dat je de tekst “Proudly powered by WordPress” wil aanpassen. Je hebt diverse mogelijkheden om deze regel tekst aan te passen of te verwijderen. Laten we ter illustratie het handmatig aanpassen.
Om dit te doen kopieer je het templatebestand footer.php vanuit de map van de parent en plak je dit in de root van je child-thema. Daarna open je dit nieuwe footer.php
bestand van je child-thema in je code-editor en voeg je de volgende code toe:
<div class="powered-by">
<?php
printf(
/* translators: %s: WordPress. */
esc_html__( 'Proudly powered by %s.', 'twentytwentyone' ),
'<a href="' . esc_attr__( 'https://wordpress.org/', 'twentytwentyone' ) . '">WordPress</a>'
);
?>
</div><!-- .powered-by -->
Nu kan je de boel gaan bewerken. Stel dat je een vriendelijke webhost wil bedanken, dan pas je het a
element aan, als volgt:
<div class="powered-by">
<?php
printf(
esc_html__( 'Proudly powered by %s.', 'twentytwentyone' ),
'<a href="https://kinsta.com/">Kinsta</a>'
);
?>
</div><!-- .powered-by -->
Om die tekst te verwijderen kan je een comment maken van het div.powered-by
element, of het helemaal verwijderen:
<!-- <div class="powered-by">
<?php
printf(
/* translators: %s: WordPress. */
esc_html__( 'Proudly powered by %s.', 'twentytwentyone' ),
'<a href="' . esc_attr__( 'https://wordpress.org/', 'twentytwentyone' ) . '">WordPress</a>'
);
?>
</div> -->
En dat is het! Nu kan je op basis van deze eenvoudige voorbeelden doorgaan met ingewikkeldere aanpassingen, en je website op basis van het Twenty Twenty-One thema verder ontwikkelen.
Samenvatting
Twenty Twenty-One is de derde poging om mensen zonder geavanceerde technische vaardigheden te helpen om mooie, unieke websites te laten bouwen. Het is een minimalistisch en toegankelijk WordPress thema met goede prestaties, en kan voor allerlei use cases goed gebruikt worden. WordPress sites die worden aangedreven door het Twenty Twenty-One thema zijn er in alle soorten en maten. Als je wilt weten of een thema Twenty Twenty-One gebruikt, bekijk dan onze handige WordPress Theme Detector Tool.
Ontwikkeld met het oog op de Blok Editor, is het nieuwe standaardthema eenvoudig aan te passen voor zowel beginnende gebruikers als gevorderde developers.
Nu is het jouw beurt: Heb jij het Twenty Twenty-One thema al geïnstalleerd? Wat is jouw ervaring tot nu toe? Deel het in de reacties hieronder!
Laat een reactie achter