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

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 27: Regel 27:
 
* Weergave.
 
* Weergave.
  
== Aanmaken van een CPT ==
+
== CPT defineren ==
  
 
Er zijn twee manieren om CPT's te defineren: Met behulp van plugins (bv. de [https://wordpress.org/plugins/custom-post-type-ui/ Custom Post Type UI]- en [https://wordpress.org/plugins/types/ Toolset Types]-plugin), of in code. Wanneer je voor deze laatste optie kiest, zijn er twee locaties om die code te plaatsen: In ''functions.php'' of in een eigen plugin. Ik volg deze laatste optie, want dat is de enige correcte manier.
 
Er zijn twee manieren om CPT's te defineren: Met behulp van plugins (bv. de [https://wordpress.org/plugins/custom-post-type-ui/ Custom Post Type UI]- en [https://wordpress.org/plugins/types/ Toolset Types]-plugin), of in code. Wanneer je voor deze laatste optie kiest, zijn er twee locaties om die code te plaatsen: In ''functions.php'' of in een eigen plugin. Ik volg deze laatste optie, want dat is de enige correcte manier.

Versie van 9 dec 2017 16:55

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.

CPT defineren

Er zijn twee manieren om CPT's te defineren: Met behulp van plugins (bv. de Custom Post Type UI- en Toolset Types-plugin), of in code. Wanneer je voor deze laatste optie kiest, zijn er twee locaties om die code te plaatsen: In functions.php of in een eigen plugin. Ik volg deze laatste optie, want dat is de enige correcte manier.

  • Op generatewp.com kun je CPT-definitiecode generen om deze vervolgens te plakken in je eigen plugin - Super!
  • Gebruik de functie register_post_type() om je CPT te registreren [1]

Bronnen

Proteus Themes-blog - Inleiding

De-registratie van een CPT