Custom Post Types vo WordPresse: Na čo sú a ako ich vytvoriť (3. diel)
Ako vytvoriť vlastný typ obsahu vo WordPresse: kurzy, recepty, projekty. Prečo je to dôležité.
WordPress bol pôvodne blogovací nástroj, ale dnes sa z neho stal plnohodnotný CMS. Kľúčovým prvkom tejto flexibility sú Custom Post Types (CPT) – teda vlastné typy obsahu. V tomto článku si vysvetlíme, čo to je, na čo sa používa a ako si ho môžeš vytvoriť sám.
📦 Čo je to Custom Post Type?
Vo WordPresse poznáš štandardné typy obsahu: príspevky (posts) a stránky (pages). Custom Post Type je akýkoľvek ďalší typ obsahu – napríklad:
- 🍽 Recepty pre kuchársky blog
- 🎓 Kurzy pre e-learning platformu
- 🏠 Nehnuteľnosti pre realitku
- 🎤 Podcast epizódy
CPT ti umožní oddeliť tieto typy obsahu od klasických článkov a zobraziť ich v samostatnej časti administrácie aj na webe.
🎯 Prečo používať CPT?
- Lepšia organizácia: Redaktori sa nestratia v desiatkach článkov, ak majú vlastnú sekciu pre napr. „referencie“ alebo „projekty“.
- Vlastné šablóny: Môžeš si vytvoriť špeciálny dizajn len pre tento typ obsahu.
- Vlastné polia a taxonómie: Napr. každý „kurz“ má trvanie, lektora a cenu – to klasický článok nemá.
🛠 Ako vytvoriť vlastný typ príspevku
Najčastejšie sa CPT registruje v súbore functions.php
alebo v samostatnom plugine.
📄 Príklad: typ „kurzy“
function vytvor_cpt_kurzy() {
register_post_type('kurz', [
'labels' => [
'name' => 'Kurzy',
'singular_name' => 'Kurz'
],
'public' => true,
'has_archive' => true,
'rewrite' => ['slug' => 'kurzy'],
'menu_icon' => 'dashicons-welcome-learn-more',
'supports' => ['title', 'editor', 'thumbnail', 'excerpt']
]);
}
add_action('init', 'vytvor_cpt_kurzy');
Po uložení sa ti v administrácii zobrazí nová sekcia „Kurzy“ s možnosťou pridávať obsah.
📄 Šablóny pre CPT
WordPress automaticky hľadá šablóny:
single-kurz.php
– detail jedného kurzuarchive-kurz.php
– výpis všetkých kurzov
Ak tieto súbory vytvoríš vo svojej téme, vieš pre tento typ obsahu pripraviť vlastné rozloženie, štýly a logiku.
🔗 Podpora pre ACF a vlastné polia
Custom Post Types výborne fungujú s Advanced Custom Fields. Môžeš pridať napr. pole „Lektor“, „Trvanie“, „Cena“ a tieto údaje zobraziť v šablóne.
🚀 Bonus: register_taxonomy()
Každý typ obsahu môže mať vlastné „kategórie“ – nazývané taxonómie. Môžeš vytvoriť napr. „Typ kurzu“ alebo „Oblasť vzdelávania“.
register_taxonomy('oblast', 'kurz', [
'label' => 'Oblasť',
'hierarchical' => true,
'rewrite' => ['slug' => 'oblast']
]);
🧠 Záver
Custom Post Types sú jeden z najvýkonnejších nástrojov WordPressu. Dajú ti plnú kontrolu nad štruktúrou a organizáciou obsahu, čím posunieš web ďaleko za hranice blogovania. V ďalšom diely si ukážeme, ako tieto typy rozšíriť o vlastné polia a ako ich efektívne zobrazovať vo vlastných šablónach.