Templates

Een Wordpress website pagina is een combinatie verschillende templates in mekaar.

Dat heeft als voordeel dat de website eenvoudiger te onderhouden en beter leesbaar is.

pagina templates

De “buitenste” template noemen we de pagina template.

We onderscheiden verschillende pagina types. Ze hebben elk hun overeenkomstige template in de thema folder.

  • pagina -> page.php
  • bericht details -> single.php
  • overzicht van berichten -> archive.php
  • zoek pagina -> search.php
  • 404 pagina -> 404.php

pagina hiërarchie

Wordpress heeft een heel systeem om te bepalen welke pagina template voor een bepaald pagina type het meest geschikt is.

Wanneer geen specifieke template wordt gevonden wordt index.php gebruikt. Dit is dus de enige verplichte pagina template.

(klik om te openen in een nieuw venster)

Nog specifiekere pagina hiërarchie

per ID

De page.php, category.php, tag.php kunnen nog uitgebreid worden met de slug of de id om zo per pagina, bericht, categorie of tag een specifieke pagina template te voorzien.

Een pagina template specifiek voor de pagina met ID 4 kan je een pagina template voorzien met de naam page-4.php.

per bericht type

Stel dat je een custom post type ‘dienst’ hebt kan je voor het overzicht van de diensten een specifieke archief pagina voorzien met de template archive-dienst.php.

Een pagina template specifiek voor een dienst detail pagina kan je voorzien met de naam single-dienst.php.

In de thema folder vinden we ook volgende templates terug:

  • header.php: bevat alle HTML tot aan het <main> element
  • footer.php: bevat alle HTML onder het <main> element

Via de get_header() en get_footer() functies worden de header.php en footer.php ingeladen.

template parts

Afhankelijk van het pagina type worden specifieke template deeltjes apart ingeladen die zich bevinden in de template-parts folder.

Dat gebeurt via de get_template_part() functie.

In de pagina template single.php kom je op regel 18 get_template_part( 'template-parts/content/content-single' ); tegen. Dat wil dus zeggen dat de template content-single.php in de folder template-parts/content wordt ingeladen.