Heb je ooit je afgevraagd hoe WordPress de structuur van je website bepaalt? Welnu, de WordPress template hiërarchie regelt dit allemaal. Het is als een geheime architect die de layout en het uiterlijk van je site bepaalt. Als je wilt begrijpen hoe WordPress zijn magie achter de schermen uitvoert, laten we eens kijken naar deze intrigerende hiërarchie en ontdekken hoe het jouw website vorm geeft.
Wat is de WordPress template hiërarchie?
De WordPress template hiërarchie is een systeem dat bepaalt welke template-bestanden worden gebruikt om de inhoud van je website te tonen. Het is als een road map die WordPress volgt bij het selecteren van de juiste sjablonen om de juiste pagina’s en berichten te weergeven.
Basisbegrip van templates
Voordat we de template hiërarchie kunnen begrijpen, is het belangrijk om te begrijpen wat templates zijn. Templates zijn bestanden die de structuur en lay-out van je website bepalen. Ze werken als sjablonen waarin WordPress je inhoud kan plaatsen en presenteren op een georganiseerde manier.
Structuur van de hiërarchie
De template hiërarchie bestaat uit verschillende niveaus, waarbij elk niveau een specifiek doel en toepassing heeft. Wanneer WordPress een pagina of bericht laadt, zoekt het naar het meest specifieke sjabloonbestand dat beschikbaar is en valt terug op meer generieke sjablonen indien nodig.
- De index.php is het ultieme vangnet en wordt gebruikt als er geen ander specifiek sjabloon beschikbaar is.
- De front-page.php wordt gebruikt voor je homepage. Het is het sjabloon dat wordt gebruikt wanneer je een statische homepage hebt ingesteld in plaats van een blogposts-pagina.
- De home.php wordt gebruikt voor je berichtenpagina, waar al je blogposts worden weergegeven.
- De single.php wordt gebruikt voor individuele berichten. Hiermee kun je je blogposts op een individuele pagina weergeven.
- Specifiek voor berichten is er ook de single-post.php, die wordt gebruikt als een specifiek sjabloon voor enkele blogposts.
- Voor aangepaste berichttypes kun je gebruik maken van de single-{post-type}.php, waarbij “{post-type}” de naam van je aangepaste berichttype is. Hiermee kun je aangepaste sjablonen maken voor specifieke berichttypes.
- De page.php wordt gebruikt voor individuele pagina’s. Hiermee kun je je statische pagina’s op een georganiseerde manier weergeven.
- De archive.php wordt gebruikt voor overzichtspagina’s, zoals alle berichten van een specifieke categorie, een bepaalde tag, of archieven op basis van datum of auteur.
- Voor berichtcategorieën kun je de category.php gebruiken.
- Voor berichttags kun je de tag.php gebruiken.
- Voor datumgebonden archieven kun je de date.php gebruiken.
- Voor auteursarchieven kun je de author.php gebruiken.
- De search.php wordt gebruikt voor zoekresultaten. Hiermee kun je zoekresultaten op een gestructureerde manier weergeven.
- De 404.php wordt gebruikt voor niet-gevonden content. Dit sjabloon wordt weergegeven wanneer een bezoeker een pagina op je website probeert te bezoeken die niet bestaat.
Verschil tussen templates en thema’s
Hoewel templates en thema’s gerelateerde concepten zijn in WordPress, zijn er belangrijke verschillen tussen de twee. Templates zijn individuele bestanden die de lay-out en structuur van je website bepalen, terwijl thema’s verzamelingen van templates zijn die samenwerken om een consistent ontwerp en functionaliteit te bieden.
Een thema kan meerdere templates bevatten en je kunt ook aangepaste templates toevoegen aan je thema. Templates zijn flexibel en bieden de mogelijkheid om je website te personaliseren op basis van je specifieke behoeften.
Door het begrijpen van de WordPress template hiërarchie kun je optimaal gebruik maken van de kracht en flexibiliteit van WordPress om je website te ontwerpen en in te richten. Het stelt je in staat om de juiste sjablonen te selecteren en aan te passen om je inhoud op een aantrekkelijke en georganiseerde manier te presenteren.
Hoe WordPress templates kiest
In de WordPress template hiërarchie heeft WordPress een specifieke manier om templates te selecteren op basis van verschillende regels en criteria. Deze selectieprocedure bepaalt welke template wordt gebruikt om de inhoud van jouw website weer te geven. Hieronder wordt de algemene werkwijze van selectie en de specifieke regels voor berichttypen uitgelegd.
Algemene werkwijze van selectie
Wanneer een pagina of bericht wordt opgevraagd op jouw WordPress website, zal WordPress eerst proberen een specifiek template te vinden dat overeenkomt met die pagina of bericht. Als er geen specifiek template beschikbaar is, zal WordPress de hiërarchie van templates doorlopen om het meest geschikte template te vinden.
De algemene werkwijze voor template selectie is als volgt:
- WordPress zoekt eerst naar een specifiek template dat overeenkomt met de unieke identificatie (ID) van de pagina of bericht. Als er bijvoorbeeld een template bestaat met de naam “single-123.php” en het bericht heeft ID 123, zal dat template worden gebruikt.
- Als er geen specifiek template beschikbaar is, zal WordPress zoeken naar een template dat overeenkomt met het slug van de pagina of bericht. Een slug is de aangepaste URL van een pagina of bericht, bijvoorbeeld “mijn-pagina”. Als er bijvoorbeeld een template bestaat met de naam “single-mijn-pagina.php”, zal dat template worden gebruikt.
- Als er nog steeds geen specifiek template gevonden is, zal WordPress de hiërarchie van templates doorlopen om het meest geschikte template te vinden.
Specifieke regels voor berichttypen
Voor verschillende berichttypen (zoals berichten, pagina’s en aangepaste berichttypes) hanteert WordPress specifieke regels om het juiste template te kiezen. Dit is de regels voor de meest gebruikte berichttypen:
Single-post.php: Specifiek voor berichten
Het template “single-post.php” wordt gebruikt voor individuele berichten. Als er geen specifiek template beschikbaar is voor een bericht, zal WordPress dit template gebruiken om het bericht weer te geven.
Single-{post-type}.php: Voor aangepaste berichttypes
Voor aangepaste berichttypes, zoals portfolio-items of evenementen, kan er een specifiek template worden gemaakt. Het template moet de naam “single-{post-type}.php” hebben, waarbij “{post-type}” wordt vervangen door de slug of identificatie van het aangepaste berichttype. Bijvoorbeeld, voor een aangepast berichttype met de slug “portfolio”, kan het template “single-portfolio.php” worden gebruikt.
Page.php: Voor individuele pagina’s
Het template “page.php” wordt gebruikt voor individuele pagina’s. Als er geen specifiek template beschikbaar is voor een pagina, zal WordPress dit template gebruiken om de pagina weer te geven.
Category.php: Voor berichtcategorieën
Het template “category.php” wordt gebruikt voor overzichtspagina’s van berichtcategorieën. Als je bijvoorbeeld een categoriepagina hebt voor nieuwsberichten, zal WordPress dit template gebruiken om de nieuwsberichten weer te geven.
Tag.php: Voor berichttags
Het template “tag.php” wordt gebruikt voor overzichtspagina’s van berichttags. Als je bijvoorbeeld een overzichtspagina hebt voor berichten met de tag “sport”, zal WordPress dit template gebruiken om de berichten met die tag weer te geven.
Date.php: Voor datumgebonden archieven
Het template “date.php” wordt gebruikt voor datumgebonden archieven, zoals maand- of jaarpagina’s. Als je bijvoorbeeld een archiefpagina hebt voor berichten uit september 2022, zal WordPress dit template gebruiken om de berichten uit die maand weer te geven.
Author.php: Voor auteursarchieven
Het template “author.php” wordt gebruikt voor auteursarchieven, waarop alle berichten van een bepaalde auteur worden weergegeven. Als je bijvoorbeeld een auteursarchief hebt voor de auteur met de gebruikersnaam “john”, zal WordPress dit template gebruiken om de berichten van John weer te geven.
Met deze regels voor template selectie kun je ervoor zorgen dat jouw WordPress website de juiste templates gebruikt om de inhoud op een consistente en aantrekkelijke manier weer te geven.
Belangrijke templates in de hiërarchie
Als je begint met het ontwikkelen van een WordPress-thema, is het belangrijk om te begrijpen welke templates er nodig zijn voor verschillende delen van je website. Dit zijn enkele van de belangrijkste templates in de hiërarchie die je moet kennen:
Index.php: Het ultieme vangnet
Het index.php-template is het vangnet van je thema. Als er geen specifiekere template beschikbaar is voor een bepaalde pagina, zal WordPress standaard het index.php-template gebruiken om de pagina te renderen. Dit maakt het een essentiële template die altijd aanwezig moet zijn in je thema.
Front-page.php: Voor je homepage
De front-page.php-template wordt gebruikt om de homepage van je website weer te geven. Dit template wordt alleen gebruikt als je hebt gekozen om een statische pagina als homepage in te stellen via de WordPress-instellingen. Het is belangrijk om dit template in je thema op te nemen als je een aangepaste vormgeving wilt voor je homepage.
Home.php: Voor je berichtenpagina
De home.php-template wordt gebruikt om de pagina met berichten weer te geven. Dit is de pagina die de standaardblogweergave toont, waar alle berichten in omgekeerde chronologische volgorde worden getoond. Als je een blogpagina hebt in je website, is het belangrijk om het home.php-template op te nemen in je thema.
Single.php: Voor individuele berichten
De single.php-template wordt gebruikt om individuele berichten weer te geven. Dit template wordt gebruikt wanneer een bezoeker een afzonderlijk bericht bekijkt. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor individuele berichten.
Single-post.php: Specifiek voor berichten
De single-post.php-template is een specifiekere versie van het single.php-template en wordt gebruikt om individuele berichten weer te geven. Dit template wordt gebruikt voor de standaardberichten in WordPress. Als je aangepaste opmaak wilt voor standaardberichten, moet je het single-post.php-template in je thema opnemen.
Single-{post-type}.php: Voor aangepaste berichttypes
Als je aangepaste berichttypes hebt gemaakt in WordPress, zoals portfolio-items of evenementen, kun je specifieke templates maken voor deze berichttypes. Het single-{post-type}.php-template wordt gebruikt om individuele berichten van aangepaste berichttypes weer te geven. Dit stelt je in staat om aangepaste opmaak en functionaliteit toe te voegen aan deze berichten.
Page.php: Voor individuele pagina’s
De page.php-template wordt gebruikt om individuele pagina’s weer te geven. Dit template wordt gebruikt wanneer een bezoeker een afzonderlijke pagina bekijkt. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor individuele pagina’s.
Archive.php: Voor overzichtspagina’s
De archive.php-template wordt gebruikt om overzichtspagina’s weer te geven, zoals categoriepagina’s, tagpagina’s en datumgebonden archieven. Dit template wordt gebruikt wanneer een bezoeker een pagina bekijkt met een lijst van berichten die aan een bepaalde categorie, tag of datum zijn gekoppeld. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor deze overzichtspagina’s.
Category.php: Voor berichtcategorieën
De category.php-template wordt gebruikt om categoriepagina’s weer te geven. Dit template wordt gebruikt wanneer een bezoeker een pagina bekijkt met een lijst van berichten in een specifieke categorie. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor categoriepagina’s.
Tag.php: Voor berichttags
De tag.php-template wordt gebruikt om tagpagina’s weer te geven. Dit template wordt gebruikt wanneer een bezoeker een pagina bekijkt met een lijst van berichten met een specifieke tag. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor tagpagina’s.
Date.php: Voor datumgebonden archieven
De date.php-template wordt gebruikt om datumgebonden archieven weer te geven. Dit template wordt gebruikt wanneer een bezoeker een pagina bekijkt met een lijst van berichten op basis van een specifieke datum. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor datumgebonden archieven.
Author.php: Voor auteursarchieven
De author.php-template wordt gebruikt om auteursarchieven weer te geven. Dit template wordt gebruikt wanneer een bezoeker een pagina bekijkt met een lijst van berichten van een specifieke auteur. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor auteursarchieven.
Search.php: Voor zoekresultaten
De search.php-template wordt gebruikt om zoekresultaten weer te geven. Dit template wordt gebruikt wanneer een bezoeker een zoekopdracht uitvoert op je website en de zoekresultaten worden weergegeven. Het is belangrijk om dit template in je thema op te nemen als je aangepaste opmaak wilt voor zoekresultaten.
404.php: Voor niet-gevonden content
De 404.php-template wordt gebruikt om een pagina weer te geven wanneer een bezoeker een niet-bestaande URL opvraagt. Dit template wordt gebruikt om een aangepaste 404-pagina weer te geven. Het is belangrijk om dit template in je thema op te nemen om ervoor te zorgen dat je bezoekers een aantrekkelijke en gebruiksvriendelijke ervaring hebben wanneer ze een niet-gevonden pagina tegenkomen.
Custom templates toevoegen
Als je volledige controle wilt hebben over het uiterlijk en de functionaliteit van je WordPress-website, kun je je eigen custom templates maken. Met custom templates kun je specifieke ontwerpen en indelingen maken voor verschillende pagina’s of berichten. Dit is een uitleg over hoe je eigen template bestanden kunt creëren, het gebruik van template parts voor herbruikbare code en hoe je custom templates kunt toewijzen aan pagina’s of berichten.
Creëren van eigen template bestanden
Om een eigen template bestand te creëren, moet je een nieuw PHP-bestand aanmaken in je WordPress-thema map. Het bestand moet beginnen met een PHP-commentaarblok waarin je het Template Name-sleutelwoord gebruikt om de naam van je template te specificeren. Bijvoorbeeld:
/* Template Name: Mijn Custom Template */
Vervolgens kun je je eigen HTML en PHP-code toevoegen aan het bestand om de gewenste lay-out en functionaliteit te creëren. Je kunt gebruik maken van WordPress-template tags en functies om dynamische inhoud toe te voegen.
Gebruik van template parts voor herbruikbare code
Om herbruikbare code te creëren, kun je gebruik maken van template parts. Template parts zijn kleine bestanden met specifieke gedeelten van je template, zoals de header, de footer of zijbalken. Door je templates op deze manier op te splitsen, kun je gemakkelijk gedeelten van je website aanpassen zonder de hele template te wijzigen.
Om een template part te maken, maak je een nieuw PHP-bestand aan met een duidelijke naam die het doel van het gedeelte beschrijft, bijvoorbeeld “header.php” of “sidebar.php”. Vervolgens kun je de code van dat gedeelte uit je template bestanden knippen en plakken in het bijbehorende template part bestand. Om het template part in je template te gebruiken, kun je de functie get_template_part()
gebruiken en de naam van het template part bestand als argument opgeven.
Toewijzen van custom templates aan pagina’s of berichten
Om een custom template toe te wijzen aan een specifieke pagina of bericht, ga je naar de WordPress-administrator en bewerk je de betreffende pagina of bericht. In de zijbalk van de editor zie je een sectie genaamd “Pagina-attributen” (of “Bericht-attributen”). Hier kun je de template kiezen die je wilt toewijzen aan de pagina of het bericht.
Als je een custom template wilt toewijzen aan meerdere pagina’s of berichten, kun je gebruik maken van paginatemplates. Paginatemplates zijn template bestanden die je kunt toevoegen aan je WordPress theme-directory. Deze templates verschijnen dan als optie in de “Pagina-attributen” sectie van de editor.
Zodra je de custom template hebt toegewezen, wordt deze gebruikt om de weergave van de pagina of het bericht te bepalen.
Tips voor het werken met de template hiërarchie
In dit deel delen we enkele handige tips en best practices voor het werken met de WordPress template hiërarchie. Of je nu een ervaren thema-ontwikkelaar bent of net begint, deze tips zullen je helpen om efficiënt en probleemloos aan je templates te werken.
Best practices voor thema-ontwikkeling
Wanneer je een WordPress-thema ontwikkelt, is het belangrijk om enkele best practices te volgen om je code schoon en onderhoudbaar te houden. Dit zijn enkele tips:
- Houd je code georganiseerd: Maak gebruik van functies en hooks om je code in logische blokken te verdelen. Dit maakt het eenvoudiger om wijzigingen aan te brengen en bugs op te sporen.
- Documenteer je code: Voeg commentaar toe aan je code om te beschrijven wat elk deel doet. Dit zal niet alleen anderen helpen om je code te begrijpen, maar ook jezelf in de toekomst.
- Maak gebruik van child-thema’s: Als je aanpassingen wilt maken aan een bestaand thema, maak dan altijd een child-thema. Hiermee voorkom je dat je aanpassingen worden overschreven bij het updaten van het oorspronkelijke thema.
- Test je thema op verschillende apparaten en browsers: Zorg ervoor dat je thema goed werkt op verschillende apparaten en browsers om een optimale gebruikerservaring te bieden.
Debuggen van template problemen
Soms kunnen er problemen optreden bij het weergeven van je templates. Dit zijn enkele tips om template problemen te debuggen:
- Controleer je PHP-foutenlogboeken: Als er problemen zijn met je templates, controleer dan je PHP-foutenlogboeken om eventuele foutmeldingen of waarschuwingen te achterhalen.
- Gebruik de WordPress Debug-modus: Zet de WordPress Debug-modus aan door de volgende regels toe te voegen aan je wp-config.php-bestand:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Dit zal gedetailleerde foutinformatie tonen en opslaan in het debuglogboek. - Gebruik tools zoals de WordPress Query Monitor-plugin: Deze plugin biedt gedetailleerde informatie over de databasequery’s, ingeladen scripts en andere nuttige informatie om je te helpen bij het oplossen van problemen.
Veelvoorkomende fouten voorkomen
Als je werkt met de template hiërarchie, zijn er enkele veelvoorkomende fouten die je kunt vermijden. Dit zijn enkele tips:
- Gebruik consistente bestandsnamen: Zorg ervoor dat je de juiste bestandsnamen en bestandsstructuur gebruikt volgens de WordPress template hiërarchie. Anders kunnen je templates niet correct worden geladen.
- Vermijd onnodige duplicatie: Maak gebruik van template parts en herbruikbare code om duplicatie te voorkomen. Dit zal je helpen om je code schoon te houden en gemakkelijker te onderhouden.
- Controleer je condities: Als je gebruik maakt van condities in je templates, controleer dan of ze correct zijn ingesteld. Onjuiste condities kunnen leiden tot onverwacht gedrag van je templates.
Met deze tips en best practices kun je efficiënt aan de slag met de WordPress template hiërarchie en fouten vermijden. Volg deze richtlijnen en je zult in staat zijn om professionele WordPress-thema’s te ontwikkelen die foutloos werken en een geweldige gebruikerservaring bieden.
Plugins en tools om de template hiërarchie te beheren
Als je werkt met de WordPress template hiërarchie, zijn er een aantal handige plugins en tools die je kunnen helpen bij het beheren en aanpassen van je templates. Of je nu een ervaren ontwikkelaar bent of net begint met WordPress, deze tools zijn essentieel om jouw thema’s en templates efficiënt te beheren.
Plugins die de template selectie beïnvloeden
Met de juiste plugins kun je de selectie van templates in WordPress aanpassen en optimaliseren. Deze plugins geven je extra functionaliteit en flexibiliteit bij het kiezen van de juiste templates voor jouw website.
- Template Selector: Met deze plugin kun je eenvoudig het juiste template kiezen voor individuele berichten, pagina’s, categorieën en nog veel meer. Hiermee kun je specifieke templates toewijzen aan specifieke content, zodat je volledige controle hebt over het uiterlijk van je website.
- Custom Post Type Templates: Als je gebruik maakt van aangepaste berichttypen, biedt deze plugin de mogelijkheid om specifieke templates toe te wijzen aan deze berichttypen. Hierdoor kun je aangepaste lay-outs maken voor bijvoorbeeld testimonials, portfolio-items of productpagina’s.
- Conditional Tags: Deze plugin biedt uitgebreide mogelijkheden om conditionele tags te gebruiken in je templates. Hiermee kun je op basis van specifieke voorwaarden bepaalde templates tonen of verbergen. Dit kan handig zijn als je templates wilt toewijzen aan specifieke categorieën, tags of gebruikersrollen.
Ontwikkelingstools en visualisatie
Naast plugins zijn er ook verschillende tools beschikbaar die je kunt gebruiken tijdens het ontwikkelen en beheren van je templates. Deze tools bieden visuele weergaven van je template hiërarchie en kunnen je helpen bij het oplossen van problemen en het optimaliseren van je code.
Template Hierachy Viewer
De Template Hierachy Viewer is een handige tool waarmee je een visuele weergave krijgt van je template hiërarchie. Hiermee kun je snel zien welke templatebestanden worden geladen voor specifieke pagina’s of berichten. Dit maakt het gemakkelijker om de juiste templates te vinden en eventuele conflicten op te lossen.
- Installeer en activeer de Template Hierachy Viewer plugin via het WordPress dashboard.
- Ga naar de pagina of het bericht waarvan je de template hiërarchie wilt bekijken.
- Klik op de “Template hierarchie” knop in de WordPress admin bar bovenaan de pagina.
- Je ziet nu een visuele weergave van welke templates worden gebruikt voor de huidige pagina of bericht, inclusief de hiërarchische volgorde.
- Door op een specifieke template te klikken, kun je de bijbehorende bestandsnaam en locatie bekijken, zodat je direct kunt beginnen met aanpassen of bewerken.
Debug Bar
De Debug Bar plugin is een krachtige tool die je helpt bij het debuggen en optimaliseren van je templates. Het biedt uitgebreide informatie over de laadtijden van je templates, database queries en PHP fouten. Met deze informatie kun je mogelijke problemen opsporen en jouw website sneller en efficiënter maken.
- Installeer en activeer de Debug Bar plugin via het WordPress dashboard.
- Klik op de “Debug” knop in de WordPress admin bar bovenaan de pagina.
- Je ziet nu een overzicht van nuttige informatie, zoals laadtijden, geheugengebruik en database queries.
- Als er fouten of waarschuwingen worden gedetecteerd, worden deze ook weergegeven, zodat je eventuele bugs kunt opsporen en oplossen.
- Met de Debug Bar kun je ook specifieke templates en hooks controleren, zodat je een gedetailleerd inzicht krijgt in hoe je website werkt.