Hoppa till innehåll

Custom Post Types: bygg eget med kod

Mer än inlägg och sidor

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".

WordPress block patterns: återanvändbara layouter
Bygg en gång, använd överallt