Custom Post Types in WordPress 3 eenvoudiger door plug-in

WordPress heeft zich altijd onderscheiden van Joomla en Drupal door een ‘nearly no coding’ benadering. Alleen fanatieke PHP/HTML/SQL ‘liefhebbers’ programmeren om de werking van WordPress aan hun behoeften aan te passen.

• Custom Post Types zeer krachtig, maar vergt zonder plug-in de nodige copy/paste van code
• Zelf code veranderen binnen WordPress vergt een zeer strikt update/upgrade onderhoud

De gewone eindgebruiker voegt vrijwel alle extra benodigde functionaliteit toe met plug-ins. Met de komst van WordPress 3 is een belangrijke wens ingevuld met betrekking tot een bredere inzet van WP als volwaardig Content Management System (CMS). Met name de zogenaamde ‘Custom Post Types’ vervult een belangrijke functie om naast ‘posts’ en ‘pages’ ook andere tijdlijn gebonden content te maken, die buiten de normale tijdlijn weergegeven kan worden.

custom type 'chapter' als onderdeel van het menu

Zo zou een dienstverlener naast de gewone ‘posts’ en ‘pages’ bijvoorbeeld een type ‘dienstverlening’ kunnen aanmaken, waarin een aantal artikelen zouden kunnen worden geplaatst. Met de nieuwe menufuncties – afhankelijk van de ondersteuning vanuit het gekozen theme – kunnen dan aparte post types in de menustructuur worden gezet. Dus artikelen/berichten, die hun eigen tijdlijn hebben. Custom Post Types staan dus – normaal gesproken – niet in de gewone tijdlijn van de weblog. De nieuwe menufuncties in WP 3.0 maken het mogelijk zeer flexibel om te gaan met de plekken waar categorieën en/of tags worden weergegeven. In principe is het mogelijk om elke categorie of tag een eigen ‘knop’ toe te kennen, waarmee in principe hetzelfde bereikt kan worden als met Custom Post Types. Belangrijkste verschil is dat in de blog tijdlijn altijd alles blijft verschijnen. Custom Post Types kunnen dus volledig geïsoleerd worden.

taxonomie 'author' als onderdeel van het menu

Met de ‘Custom Post Type UI‘ plug-in kunnen vrijwel alle voorkomende functies via een nette user-interface worden gerealiseerd. Zelf coderen binnen verschillende .php files is voor custom post types dan niet meer nodig.

Naast het type post kunnen ook zogenaamde taxonomieën worden toegevoegd aan het nieuwe type. Het mag misschien wat verwarrend overkomen in relatie tot tags en categorieën, maar taxonomieën zijn binnen custom post types in feite een soort metadata velden. Zo kan je bijvoorbeeld bij de custom post type ‘dienstverlening’ het metadata veld ‘soort’ definiëren. Deze wordt niet zichtbaar in de post, maar kan ook weer in het menusysteem worden opgenomen. Een ander voorbeeld zou kunnen zijn het custom post type ‘evenementen’, met daaronder de metadata velden ‘datum’, ‘lokatie’, ’tijdstip’ etc. Op die wijze is een oneindige hoeveelheid post structuren te maken, die in combinatie met menu’s de flexibiliteit binnen een WordPress eindeloos maken.

Waarom de ontwikkelaars van WordPress dat niet zelf in de kern van 3.0 hebben ingebouwd is onduidelijk. Juist dat aspect – samen met custom menu’s – maakt de 3.0 versie uniek en zet daarmee een grote stap in WP als volwaardig CMS.

Voor wie alles toch graag zelf wil coderen is er een aardige blogpost geschreven door Justin Tadlock.

1 reactie

  1. Miriam van der Have op 23 december 2010 om 18:13

    Ha Peter,

    Voor een beginner is zo’n plug-in erg handig, hoewel je veel van af moet weten van het onderwerp om de plug-in volledig te kunnen gebruiken.

    Maar als je die kennis bezit kun je net zo goed zonder overhead-toevoegende plug-in werken. 😉

    De hoeveelheid werk valt heel erg mee. Je hoeft maar een paar regels code in functions.php te plaatsen.

    Het is belangrijk dat de gebruiker goed nadenkt wat wordt toegevoegd aan custom post types en taxonomieën want de database wordt er behoorlijk mee op zijn kop gezet en het opruimen van de troep als je besluit toch geen gebruik te maken van de nieuwe custom post types en taxonomieën is geen klusje voor de doorsnee WordPress-gebruiker.

    Dat gezegd hebbende, blijft overeind dat custom post types en taxonomieën erg handige functies van WordPress zijn.

    Overigen zijn die mogelijkheden al sinds versie 2.9 beschikbaar. In versie 3.0 zijn nieuwe mogelijkheden toegevoegd die het eenvoudiger maakt deze functies in de praktijk toe te passen. Jammer genoeg blijft het een vrij ingewikkelde zaak, maar dat ligt ook aan het feit dat je heel goed moet weten hoe en waarom je custom post types en taxonomieëninzet.