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

Custom Post Types vo WordPresse: Na čo sú a ako ich vytvoriť (3. diel)
Photo by Maksym Kaharlytskyi / Unsplash

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 kurzu
  • archive-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.