Custom post types creëren in WordPress: een stap-voor-stap gids

Je WordPress-dashboard kent standaard posts en pagina’s, maar wat als je wilt verkopen via een productenlijst of portfolio’s wilt showcasen? Veel WordPress-gebruikers onderschatten hoe krachtig custom post types WordPress kunnen zijn voor het organiseren van specifieke content. Met custom post types in WordPress kun je unieke contenttypen maken die perfect aansluiten bij jouw website-doelen.

Deze gids laat je zien hoe je stap voor stap custom post types kunt maken in WordPress. Je leert niet alleen de technische aspecten, maar ook welke valkuilen je moet vermijden en hoe je de beste resultaten behaalt. Of je nu een portfolio wilt maken, evenementen wilt beheren of producten wilt presenteren — na het lezen van deze handleiding kun je custom post types professioneel inzetten.

Custom post types WordPress: uitleg & voordelen

WordPress post types maken gaat verder dan alleen berichten en pagina’s schrijven. Een custom post type is een unieke contentcategorie die je zelf definieert met eigen velden, taxonomieën en weergave-instellingen. Denk aan een “Product” post type voor een webshop, een “Portfolio” type voor creatieve professionals, of een “Event” type voor evenementenorganisatoren.

Het verschil met gewone posts is dat custom post types hun eigen beheergebied krijgen in je WordPress admin. In plaats van alles door elkaar te gooien in één posts-sectie, krijg je overzichtelijke categorieën. Een fotograaf kan bijvoorbeeld zijn portfolio’s apart beheren van zijn blogposts, compleet met eigen metadata zoals camera-instellingen en locatiegegevens.

De voordelen worden vooral duidelijk bij complexere websites. Een restaurant kan menu-items, evenementen en reviews als aparte post types beheren. Elk type krijgt zijn eigen invoervelden (prijs voor menu-items, datum voor evenementen, sterren voor reviews) en kan anders worden weergegeven op de frontend.

WordPress content organiseren wordt zo een stuk efficiënter. Want laten we eerlijk zijn — niemand wil door honderden blogposts scrollen om dat ene portfolio-item te vinden. Custom post types geven structuur en maken je website professioneler.

Custom post types voorbereiden: planning & techniek

Voordat je begint met WordPress post types maken, moet je een duidelijk plan hebben. Veel mensen springen direct in de technische details, maar een goede voorbereiding bespaart je uren frustratie later. Start met het definiëren van welke contenttypen je nodig hebt en welke informatie bij elk type hoort.

Maak een lijst van alle velden die je per post type nodig hebt. Voor een “Product” post type denk je aan prijs, afmetingen, gewicht, kleur en productcategorie. Voor een “Team” post type heb je waarschijnlijk functie, bio, contactgegevens en sociale media links nodig. Deze planning bepaalt later je database-structuur en frontend-weergave.

Technisch gezien heb je enkele basis-vereisten nodig om te starten. Een WordPress-installatie met administrator-rechten is vanzelfsprekend. Daarnaast is basiskennis van PHP handig als je custom code wilt schrijven, al kun je ook prima plugins gebruiken. Een staging-omgeving wordt sterk aangeraden — je wilt niet experimenteren op een live website.

Wat betreft tools heb je verschillende opties. De Custom Post Type UI plugin is populair voor beginners omdat het een grafische interface biedt. Advanced Custom Fields (ACF) combineert goed voor het toevoegen van extra velden. Voor developers is handmatig coderen via functions.php ook een optie, wat meer controle geeft maar technische kennis vereist.

Tip: Maak screenshots van je huidige admin-interface voordat je begint. Als er iets misgaat, kun je altijd terugvallen op de oorspronkelijke situatie.

Custom post types WordPress maken met plugins

De gemakkelijkste manier om custom post types in WordPress te maken is via plugins. Custom Post Type UI is de meest populaire keuze met meer dan 1 miljoen actieve installaties. Deze plugin biedt een intuïtieve interface waarin je alle instellingen kunt configureren zonder code te schrijven.

Start met het installeren van Custom Post Type UI via je WordPress admin. Ga naar Plugins → Nieuwe toevoegen, zoek op “Custom Post Type UI” en installeer de plugin. Na activatie verschijnt er een nieuw menu-item “CPT UI” in je WordPress-dashboard. Hier kun je alle post types en taxonomieën beheren.

Het aanmaken van een nieuw post type begint bij CPT UI → Post Types toevoegen. Vul de “Post Type Slug” in (bijvoorbeeld “portfolio” of “product”) — dit is de interne naam die WordPress gebruikt. De “Plural Label” is wat je ziet in het admin-menu (“Portfolio’s” of “Producten”). De “Singular Label” gebruik je voor individuele items (“Portfolio” of “Product”).

Bij de instellingen kun je bepalen of het post type public is (zichtbaar op de frontend), of het in zoekresultaten mag verschijnen, en of het een archief-pagina krijgt. Voor een portfolio wil je waarschijnlijk alles openbaar, voor interne notities kies je voor privé. De “Menu Position” bepaalt waar het menu-item verschijnt in je admin — een waarde van 5 plaatst het onder “Berichten”.

Een belangrijk detail is het kiezen van de juiste “Supports” opties. Hier bepaal je welke editor-functies beschikbaar zijn: title (titel), editor (content), thumbnail (uitgelichte afbeelding), excerpt (samenvatting), etc. Een portfolio heeft waarschijnlijk title, editor en thumbnail nodig. Een eenvoudige productenlijst misschien alleen title en thumbnail.

Methode 2: handmatig coderen via functions.php

Voor developers die meer controle willen, is handmatig coderen via functions.php de betere optie. Deze methode geeft je volledige controle over alle aspecten van je custom post type en zorgt ervoor dat je niet afhankelijk bent van plugins. Bovendien is het performanter omdat er geen extra plugin-overhead is.

Open je functions.php bestand (te vinden in wp-content/themes/jouw-theme/) en voeg de volgende basis-code toe om een “Portfolio” post type te registreren:

function create_portfolio_post_type() {
    register_post_type('portfolio',
        array(
            'labels' => array(
                'name' => 'Portfolio',
                'singular_name' => 'Portfolio Item',
                'add_new' => 'Nieuw Portfolio Item',
                'add_new_item' => 'Nieuw Portfolio Item Toevoegen',
                'edit_item' => 'Portfolio Item Bewerken'
            ),
            'public' => true,
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail'),
            'menu_icon' => 'dashicons-portfolio'
        )
    );
}
add_action('init', 'create_portfolio_post_type');

Deze code registreert een nieuw post type met de slug “portfolio”. De labels bepalen wat gebruikers zien in de admin-interface. Het ‘public’ => true argument zorgt ervoor dat het post type zichtbaar is op de frontend. ‘has_archive’ => true creëert een archief-pagina waar alle portfolio-items worden getoond.

Je kunt de functionaliteit uitbreiden door meer parameters toe te voegen. ‘hierarchical’ => true maakt het mogelijk om parent/child-relaties te maken, vergelijkbaar met pagina’s. ’taxonomies’ => array(‘category’, ‘post_tag’) voegt standaard categorieën en tags toe. ‘rewrite’ => array(‘slug’ => ‘mijn-portfolio’) past de URL-structuur aan.

Voor geavanceerde toepassingen kun je ook meta boxes toevoegen. Dit zijn extra invoervelden in de editor waarin je specifieke informatie kunt opslaan. Voor een portfolio kun je velden toevoegen voor project-url, gebruikte technieken, en projectdatum. Deze meta boxes vereisen extra code maar geven onbeperkte flexibiliteit.

Custom velden toevoegen met Advanced Custom Fields

Het creëren van een nieuwe custom post type in WordPress
Het creëren van een nieuwe custom post type in WordPress

De standaard WordPress-editor is beperkt tot titel, content en uitgelichte afbeelding. Voor rijkere content heb je custom velden nodig. Advanced Custom Fields (ACF) is de gouden standaard voor het toevoegen van extra invoervelden aan je custom post types. Deze plugin integreert naadloos en biedt tientallen veldtypes.

Na installatie van ACF ga je naar Custom Fields → Veldgroepen om een nieuwe groep aan te maken. Geef de groep een beschrijvende naam zoals “Portfolio Velden” en begin met het toevoegen van velden. Een tekstveld voor “Project URL”, een textarea voor “Gebruikte technieken”, een datumkiezer voor “Voltooiingsdatum” — de mogelijkheden zijn eindeloos.

Elk veldtype heeft zijn eigen instellingen. Bij een tekstveld kun je placeholder-tekst instellen, maximale karakterlengte bepalen en validatieregels toevoegen. Een afbeeldingsveld kan beperkt worden tot specifieke bestandsformaten en afmetingen. Een select-veld krijgt voorgedefinieerde opties waar gebruikers uit kunnen kiezen.

De locatie-instellingen bepalen waar je veldgroep verschijnt. Kies “Post Type” en selecteer je custom post type uit de dropdown. Je kunt ook meer specifieke rules toevoegen: alleen tonen bij bepaalde categorieën, of juist verbergen voor bepaalde gebruikersrollen. Deze flexibiliteit maakt ACF geschikt voor complexe websites met verschillende contenttypen.

In de frontend kun je deze velden ophalen met ACF’s get_field() functie. Een simpel PHP-snippet zoals toont de waarde van het “Project URL” veld. Voor beginners biedt ACF ook een shortcode-functie, zodat je velden kunt tonen zonder PHP-kennis.

Frontend-weergave en template-aanpassingen

Custom post types maken is één ding, ze correct weergeven op je website is een ander verhaal. WordPress zoekt automatisch naar specifieke template-bestanden voor custom post types. Voor een “portfolio” post type zoekt het achtereenvolgens naar single-portfolio.php, single.php, en uiteindelijk index.php.

Als je theme geen specifiek template heeft, worden custom post types weergegeven met het standaard single.php template. Dit werkt meestal prima voor eenvoudige content, maar voor complexere post types wil je waarschijnlijk een aangepast template. Kopieer single.php naar single-jouwposttype.php en pas de HTML-structuur aan naar je wensen.

Voor een portfolio-template kun je bijvoorbeeld een grid-layout maken die uitgelichte afbeeldingen groter toont. Of een product-template die prijs en specificaties prominent weergeeft. De WordPress template-hiërarchie geeft je volledige controle over hoe elke post type wordt gepresenteerd.

Archief-pagina’s (overzichtspagina’s met alle items van een post type) gebruiken een vergelijkbare logica. WordPress zoekt naar archive-portfolio.php, daarna archive.php, en ten slotte index.php. Een custom archief-template laat je de layout optimaliseren voor je specifieke content — denk aan kaart-weergaven voor evenementen of grid-layouts voor portfolio’s.

Vergeet niet je permalinks te verversen na het toevoegen van nieuwe post types. Ga naar Instellingen → Permalinks en klik op “Wijzigingen opslaan” zonder iets aan te passen. Dit zorgt ervoor dat WordPress de nieuwe URL-structuren correct genereert en voorkomt 404-fouten.

Taxonomieën: categorieën en tags voor custom post types

Net zoals gewone posts categorieën en tags kunnen hebben, kun je ook custom taxonomieën maken voor je post types. Een “portfolio” post type kan bijvoorbeeld “Project Type” (webdesign, fotografie, branding) als taxonomie hebben. Dit maakt filtering en organisatie veel effectiever.

Custom Post Type UI biedt ook functionaliteit voor taxonomieën. Ga naar CPT UI → Taxonomieën toevoegen en definieer je taxonomy slug (bijvoorbeeld “project_type”). Kies of het hiërarchisch moet zijn (zoals categorieën) of niet-hiërarchisch (zoals tags). Hiërarchische taxonomieën kunnen parent/child-relaties hebben, niet-hiërarchische zijn gewoon losse labels.

Bij het handmatig coderen gebruik je de register_taxonomy() functie. Deze werkt vergelijkbaar met register_post_type() maar heeft andere parameters. Je moet ook specificeren aan welke post types de taxonomie gekoppeld is — één taxonomie kan gebruikt worden door meerdere post types.

Een praktisch voorbeeld is een “Locatie” taxonomie die zowel door “Evenementen” als “Nieuwsberichten” gebruikt wordt. Bezoekers kunnen dan filteren op alle content uit een bepaalde stad, ongeacht het content-type. Deze flexibiliteit maakt taxonomieën krachtige organisatie-tools.

Veelvoorkomende problemen en oplossingen

Bij het werken met custom post types in WordPress loop je onvermijdelijk tegen enkele uitdagingen aan. Het meest voorkomende probleem zijn 404-fouten nadat je een nieuw post type hebt toegevoegd. Dit gebeurt omdat WordPress de nieuwe URL-structuren nog niet kent. De oplossing is simpel: ga naar Instellingen → Permalinks en sla de instellingen opnieuw op.

Een ander veelvoorkomend probleem is dat custom post types niet verschijnen in zoekresultaten. Dit komt door de ‘exclude_from_search’ parameter die standaard op true staat voor custom post types. Voeg ‘exclude_from_search’ => false toe aan je register_post_type() functie, of pas de instelling aan in Custom Post Type UI.

Template-problemen zijn ook gebruikelijk. Je custom post type werkt wel, maar ziet er vreemd uit op de frontend. Check of je theme specifieke templates heeft voor je post type, of maak ze zelf aan. Soms conflicteren plugins met custom post types — deactiveer tijdelijk alle plugins om te testen of dit het probleem is.

Performance-problemen kunnen ontstaan bij grote hoeveelheden custom post types. WordPress laadt standaard alle post types in het geheugen, wat bij honderden types traag kan worden. Overweeg in dat geval ‘public’ => false voor interne post types, of gebruik caching-plugins om de database-queries te optimaliseren.

Waar veel ontwikkelaars tegenaan lopen, is de juiste naamgeving. WordPress reserveert bepaalde namen zoals “post”, “page”, “attachment” en “revision”. Gebruik nooit deze namen voor je custom post types, anders krijg je onvoorspelbare fouten. Kies altijd unieke, beschrijvende namen voor je post types.

SEO-optimalisatie voor custom post types

Custom post types kunnen je SEO-strategie aanzienlijk verbeteren als je ze correct inzet. Elke post type krijgt zijn eigen URL-structuur, wat betekent dat je geoptimaliseerde URL’s kunt maken voor specifieke content. Een “/portfolio/webdesign-project” URL is veel duidelijker dan “/post/123”.

Zoekmachines waarderen gestructureerde content. Door producten, diensten, en portfolio-items in aparte post types te organiseren, geef je Google duidelijke signalen over je website-structuur. Dit kan leiden tot betere rankings en rich snippets in zoekresultaten.

Schema markup wordt ook eenvoudiger met custom post types. Een “Product” post type kan automatisch schema.org/Product markup krijgen, een “Event” post type krijgt schema.org/Event markup. Plugins zoals Yoast SEO ondersteunen dit automatisch voor veel post types.

Vergeet niet om custom post types toe te voegen aan je XML-sitemap. Yoast SEO doet dit automatisch, maar bij handmatige sitemap-generatie moet je ze expliciet opnemen. Google moet kunnen ontdekken dat je nieuwe content-secties hebt.

Geavanceerde technieken en best practices

Organiseren van content met custom post types op een tablet
Organiseren van content met custom post types op een tablet

Voor ervaren developers zijn er geavanceerde technieken die custom post types nog krachtiger maken. Meta queries laten je complex filteren op custom field-waarden. Je kunt bijvoorbeeld alle portfolio-items ophalen die na 2023 zijn gemaakt EN de techniek “React” gebruiken. Deze queries zijn krachtig maar kunnen performance beïnvloeden bij grote datasets.

Custom post statuses geven meer controle over je content workflow. Naast de standaard “concept” en “gepubliceerd” kun je statuses maken zoals “in review”, “goedgekeurd” of “archief”. Dit is vooral handig voor websites met meerdere content-beheerders of complexe goedkeuringsprocessen.

REST API-integratie opent mogelijkheden voor headless WordPress-setups. Je custom post types worden automatisch beschikbaar via de REST API, wat betekent dat je ze kunt gebruiken in React, Vue, of andere JavaScript-frameworks. Dit is de toekomst voor veel WordPress-ontwikkelaars.

Database-optimalisatie wordt belangrijk bij grote hoeveelheden custom post types. Overweeg indexes toe te voegen aan veel-gebruikte meta fields, gebruik WP_Query-parameters efficiënt, en implementeer caching-strategieën. Een goed geoptimaliseerde custom post type-implementatie kan duizenden items zonder problemen aan.

Conclusie

Het creëren van custom post types in WordPress opent een wereld van mogelijkheden voor het organiseren en presenteren van je content. Of je nu een eenvoudige portfolio-site bouwt of een complexe corporate website, custom post types geven je de flexibiliteit die standaard WordPress mist.

De keuze tussen plugins en handmatig coderen hangt af van je technische vaardigheden en project-vereisten. Plugins zoals Custom Post Type UI maken het toegankelijk voor beginners, terwijl handmatig coderen maximale controle biedt voor ervaren developers. Beide aanpakken kunnen professionele resultaten opleveren.

Vergeet niet dat custom post types onderdeel zijn van een groter geheel. Combinatie met custom velden, taxonomieën, en aangepaste templates zorgt voor een complete content-strategie. Plan je implementatie zorgvuldig, test grondig, en denk na over toekomstige uitbreidingen. Met de juiste aanpak transformeer je je WordPress-site van een simpele blog naar een krachtig content management systeem.

Wat is het verschil tussen posts en custom post types?

Posts zijn bedoeld voor chronologische content zoals blogs, terwijl custom post types specifieke contenttypen organiseren. Een portfolio-item hoeft geen publicatiedatum te hebben, maar een blogpost wel.

Kan ik custom post types gebruiken zonder technische kennis?

Ja, plugins zoals Custom Post Type UI bieden een gebruiksvriendelijke interface. Voor complexere functionaliteit is wel enige WordPress webdevelopment kennis handig om het maximale uit je implementatie te halen.

Welke hosting is geschikt voor websites met veel custom post types?

Voor custom post types heb je stabiele database-performance nodig. Managed WordPress hosting opties bieden meestal de beste prestaties voor complexere WordPress-implementaties met custom content.

Hoe maak ik een back-up van custom post types?

Custom post types worden opgeslagen in de WordPress-database en worden automatisch meegenomen in standaard backups. Zorg wel voor regelmatige backup plugins om je waardevolle custom content te beschermen.

Verdwijnen custom post types als ik van theme wissel?

Custom post types die via plugins zijn gemaakt blijven bestaan, maar handmatig gecodeerde types in functions.php verdwijnen. De data blijft wel in de database en kan worden teruggehaald.

Kan ik custom post types importeren en exporteren?

Ja, WordPress’s standaard import/export-functie werkt met custom post types. Voor complexere migraties zijn er gespecialiseerde plugins beschikbaar die ook custom fields en taxonomieën meenemen.

Aanbevolen voor jou