V tomto článku se podíváme detailněji na různé typy obsahu ve WordPressu a na to, jak jsou spolu spojeny.
Tento článek je součástí série osmi částí:
- Úvod
- Vztahy mezi daty
- Typy dat
- Uživatelská data
- Metadata
- Taxonomie, rubriky, štítky a položky
- Tabulka Options
- WordPress Multisite data
Když mluvíme o obsahu ve WordPressu, máme obvykle na mysli stránky a příspěvky. Ale to není tak úplně pravda. WordPress obsahuje několik typů obsahu a příspěvky a stránky jsou pouze dva z nich. Pokud porozumíte jak typy obsahu fungují, budete se lépe orientovat ve WordPressu a tvorba šablon a pluginů bude pro vás jednodušší.
Hlavní typy obsahu ve WordPressu
- příspěvky,
- komentáře,
- uživatelé,
- odkazy.
Jak uvidíte dále, většina je skoro stejná.
Příspěvky (posts)
Příspěvky jsou nejdůležitějším typem obsahu ve WordPressu. Název může být trochu zavádějící, protože post (v překladu příspěvek) slouží k popsání všeho co se nachází v tabulce wp_posts, ale zároveň také k popisu určitého typu obsahu (příspěvku). Z tohoto důvodu se vám následující dotaz může zdát nesmyslný, ale není tomu tak.
'post_type' => 'post'
V tabulce wp_posts najdeme pět typů příspěvků:
- příspěvek,
- stránka,
- příloha,
- revize,
- položky menu v navigaci.
Jak jsme si již řekli dříve ve článku Vztahy mezi daty, mohou být všechny příspěvky spojeny. To obecně slouží k definování toho, která příloha je přiřazena k příspěvku nebo stránce, a nebo k určení toho, která stránka je nadřazena dané stránce.
První tři typy příspěvků jsou developerům obvykle známé jako příspěvky, ale u dalších 2 už tomu tak nebývá. Každá revize se ukládá do tabulky wp_posts i s příspěvkem, ke kterému je vázaná (za pomocí pole post_parent). Položky menu v navigaci jsou také uloženy jako příspěvek a poté za pomoci dotazu se zobrazí. Z tohoto důvodu se vám může stát, že menu najednou zmizí, když použijete špatně filtr pre_get_posts()!
Do své stránky si můžete přidat tolik typů příspěvků, kolik jen chcete. K tomu, jak to udělat se podívejte na custom post types v kodexu. Jedná se pouze o dodatečné typy příspěvků, které se chovají naprosto stejně jako příspěvky, stránky nebo přílohy, a to v závislosti na tom, jak jste je natavili při jejich registraci.
Obrázek níže ukazuje tabulku wp_posts a tabulky, které jsou s ní spojené.
Komentáře (comments)
Komentáře jsou uloženy ve vlastní tabulce wp_comments. Fungují podobně jako příspěvky. To znamená, že každý komentář má přes tabulku wp_commentmeta spojena metadata. Nicméně mají rozdílný obsah, a proto mají jiná povinná pole v tabulce.
Komentáře jsou s příspěvky spojeny vztahem 1:n a zároveň jsou také spojeny mezi sebou za pomoci pole comment_parent, které se používá k identifikace komentáře při odpovědi. Také mohou být propojeny s tabulkou wp_users, a to v případě že komentující byl přihlášen.
Obrázek níže ukazuje tabulku wp_comments a její vztahy:
Uživatelé (users)
Uživatelé mají vlastní tabulku wp_users a jejich meta data jsou uložena v tabulce wp_usermeta. Na první pohled se může zdát, že uživatelé jsou od ostatních typů obsahu velmi odlišní, nicméně nenechte se splést. Můžete na ně dotazovat a výsledek bude archiv autora. Mají obsah ve formě biografických dat. Tento obsah je strukturován poměrně odlišně než u příspěvků, odkazů a komentářů, a z toho důvodu jim byla vytvořena vlastní tabulka.
Obrázek níže ukazuje tabulku wp_users a její vztahy:
Odkazy (links)
Posledním typem obsahu jsou odkazy. Nicméně od verze WordPressu 3.5 od nich bylo upuštěno a pokud je chcete ve WordPressu mít, potřebujete plugin nebo úpravu functions.php.
Odkazy pracují podobně jako příspěvky. Mají obsah a položky jim přiřazené. Liší se v rozdílných polích, ve kterých se ukládají data o cílovém odkazu, popisu a tak. Nejsou spojeny s uživateli, takže jim nemůže být přiřazen autor a také nemají pole pro identifikaci, takže nemohou být přiřazeny k příspěvky. Nicméně můžete je za pomocí taxonomie vložit na stránku archivu.
Obrázek níže ukazuje tabulku wp_links a její vztahy:
Poznámka k metadatům
Ze čtyř uvedených typů obsahu mají metadata pouze tři:
- příspěvky,
- uživatelé,
- komentáře.
Souhrn na konec
V tomto článku byste se měli dozvědět více o typech obsahu ve WordPressu. Typy obsahu v databázi nejsou omezeny pouze na příspěvky a stránky, ale můžete si vytvářet i vlastní. Nezapomeňte že přílohy, komentáře a menu jsou také typy obsahu.