WordPress archiefpagina uitbreiden met pagina functionaliteiten

Remco 22 september 2015

Veel WordPress thema ontwikkelaars zijn wel eens tegen de beperkingen van WordPress archiefpagina’s aan gelopen. Doordat WordPress archiefpagina’s automatisch gegenereerde pagina’s zijn met vaak een overzicht van meest recente berichten zijn deze standaard niet te beheren. Waarbij de standaard WordPress pagina’s vaak de uitgelichte afbeelding wordt gebruikt voor de header afbeelding is dit bij archiefpagina’s niet mogelijk. Toch hebben klanten vaak wel de wens dat onderdelen van de archiefpagina’s ook te beheren zijn. In dit bericht zal ik een snelle quickfix oplossing toelichten.

Binnen veel WordPress thema’s worden 1 of meerdere custom post types gedefinieerd met behulp van de register_post_type() functie. Bij een bouwbedrijf kan dit bijvoorbeeld een custom post type ‘project’ zijn en bij een schoenenwinkel bijvoorbeeld een custom post type ‘merk’. Door het registreren van deze custom post types kunnen deze bedrijven eenvoudig hun projecten/merken beheren binnen WordPress. Daarnaast worden alle projecten/merken automatisch in een overzicht getoond onder bijvoorbeeld domeinnaan.nl/projecten of domeinnaam.nl/merken.

Om nu ook bij de domeinnaan.nl/projecten archiefpagina een header afbeelding in te kunnen stellen kunnen we binnen WordPress ook een normale pagina “Projecten” aanmaken met de slug projecten. Binnen het thema kunnen we bijvoorbeeld in header.php vervolgens aan de hand van de archief rewrite slug de bijbehorende pagina en uitgelichte afbeelding opvragen.

Dit is waarschijnlijk niet de mooiste oplossing, maar wel heel snel inzetbaar in bestaande/oudere thema’s. Bij ontwikkelen van nieuwe thema’s is het waarschijnlijk mooier om de WordPress Options API of Theme Customization API te gebruiken. Ik ben benieuwd hoe andere WordPress ontwikkelaars omgaan met de WordPress archiefpagina’s beperkingen. Laat daarom gerust een reactie achter of volg ons op Twitter of Facebook.

0 reacties

Reacties zijn gesloten.

Altijd op de hoogte blijven?