WordPress har två innehållstyper som standard: inlägg och sidor. Det räcker för en blogg. Men bygger du en fastighetssajt, ett jobbportal eller en produktkatalog behöver du egna innehållstyper. Custom Post Types gör det möjligt.
register_post_type()
I functions.php eller (bättre) i ett eget plugin. Funktionen tar ett slug och en array med inställningar. Etiketter (singular, plural, meny-namn), vilka funktioner som stöds (thumbnail, excerpt, revisions), om det ska finnas arkivsida, och om det ska synas i REST API (viktigt för Gutenberg).
Vi brukar lägga registreringen i ett eget plugin istället för temat. Anledningen: om kunden byter tema ska inte innehållstypen försvinna. Data försvinner inte (den ligger i databasen), men den blir osynlig utan registreringen.
Taxonomier
Komplettera med register_taxonomy(). En fastighetssajt kanske har taxonomierna "Typ" (villa, lägenhet, radhus) och "Ort" (Stockholm, Göteborg, Malmö). Hierarkisk om det finns underkategorier, platt om inte.
Template-filer
single-{post_type}.php för enskild vy. archive-{post_type}.php för listvy. WordPress hittar dem automatiskt baserat på filnamn. Full kontroll över hur varje post type visas utan att röra andra delar av temat.
Practical note
Det handlar om kanske 40 till 60 rader kod totalt. Inte en stor investering. Men det ger dig ett CMS som är anpassat efter projektets behov istället för att tvinga in allt i "inlägg" och "sidor".