Custom Post Types (CPT, WordPress): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 34: Regel 34:
 
* Als een aparte ''plugin'' -- Correcter → Ik gebruik deze aanpak.
 
* Als een aparte ''plugin'' -- Correcter → Ik gebruik deze aanpak.
  
Op [https://generatewp.com/post-type/ generatewp.com] kun je online je post-type defineren, waarna je de betreffende code kunt kopiëren en plakken.
+
Op [https://generatewp.com/post-type/ generatewp.com] kun je online je post-type defineren, waarna je de betreffende code kunt kopiëren en plakken. Dit heb ik gebruikt om m'n eigen CPT te defineren. Ik heb die code dus ingevoerd in m'n eigen plugin.
 +
 
 +
Om een post-type te verwijderen, heb je de functie <code>unregister_post_type</code> [http://www.mavengang.com/2016/07/12/unregister-post-type-using-unregister_post_type/]
  
 
== Bronnen ==
 
== Bronnen ==

Versie van 9 dec 2017 16:45

Custom Post Types is het WordPress-equivalent van Drupal's Content Construction Kit (CCK). Een interessant verschil tussen Drupal en WordPress: Drupal staat zich erop voor dat het vooral heel serieus en groot is. CCK is zodoende een integraal onderdeel van Drupal, met een interface die ik altijd erg goed vond. In WordPress vormt CPT duidelijk een minder belangrijk onderdeel. Er is niet eens een éénduidige module voor, en ironisch genoeg, word je al snel geacht dit zelf te gaan programmeren, want ik nou net niet van WordPress had verwacht. Maar dit mag de pret niet drukken -- En ik ben nog altijd erg blij dat ik ben overgestapt van Drupal naar Wordpress.

Standaard content-types

Vers uit de verpakking beschikt WordPress over de volgende content-types:

  • Post
  • Page
  • Commentaar
  • Revisie
  • Menu-item.

Plugins

Er bestaan tientallen CPT-gerelateerde plugins, maar niet één is de onbetwiste keuze. De meeste plugins lijken ook maar een deel van de gezochte functionaliteit te verzorgen:

  • Custom Post Type UI is gratis en helpt met aanmaak van CPT's, maar niet met het defineren van velden
  • Toolset Types is een gratis plugin om CPT's + velden te defineren. Bevalt goed, maar voor weergave heb je een additionele plugin nodig, en die kost $69
  • Advanced Custom Fields (ACF) lijkt een CPT-gerelateerde module te zijn, maar het fijne snap ik er niet van.

CPT - Onderdelen

Als je met eigen post-types aan de slag gaat, krijg je zoal te maken met:

  • Registratie van het post-type
  • Definitie van de velden
  • Weergave.

Registratie van een post-type

Dit is goed te doen met bv. de Custom Post Type UI-plugin of de Toolset Types-plugin. Maar het kan natuurlijk ook in code. Er schijnen twee standaardlocaties voor deze code te zijn:

  • In functions.php binnen het theme -- Gemakkelijker maar onlogisch & problematisch bij theme-updates
  • Als een aparte plugin -- Correcter → Ik gebruik deze aanpak.

Op generatewp.com kun je online je post-type defineren, waarna je de betreffende code kunt kopiëren en plakken. Dit heb ik gebruikt om m'n eigen CPT te defineren. Ik heb die code dus ingevoerd in m'n eigen plugin.

Om een post-type te verwijderen, heb je de functie unregister_post_type [1]

Bronnen

Proteus Themes-blog - Inleiding

De-registratie van een CPT