---
site_name: WPlama
site_description: Internetové stránky na WordPressu snadno a česky
site_url: https://www.wplama.cz
contact_email: tomas@wplama.cz

title: Taxonomie ve WordPressu
url: https://www.wplama.cz/taxonomie-wordpressu/
date: 2014-11-09
modified: 2014-11-09
author: Tomáš Cirkl
type: post
categories: [WordPress obecně]
tags: [databáze, rubriky, štítky, taxonomie, WordPress]
---

Taxonomie je to, co povznáší WordPress nad úroveň **běžného blogovacího nástroje** a řadí ho mezi **redakční systémy**.

Ale jak se ukládá v databázi?

Taxonomie a položky jsou skvělé **vlastnosti WordPressu**, které vašim stránkám přidávají větší flexibilitu. Týkají se dvou typů obsahu: **příspěvků a odkazů**. V databázové struktuře je mezi nimi vztah 1:n. Jeden příspěvek může být propojen s několika **položkami v několika taxonomiích** a jedna položka může být přiřazena k několika příspěvkům nebo odkazům.

V této sérii článků se zabýváme různými aspekty WordPress databáze. Celá série bude mít **osm částí:**

1. Úvod
2. Vztahy mezi daty
3. Typy dat
4. Uživatelská data
5. Metadata
6. Taxonomie, rubriky, štítky a položky
7. Tabulka Options
8. WordPress Multisite data

Začněme definicí, protože pojem taxonomie a položka může být ve spojením velmi matoucí.

## Definice

### Taxonomie

Taxonomie je **systém kategorizace a třídění věcí**, obvykle hierarchicky. Nejznámější taxonomií je ta, kterou vytvořil [Carl Linné](http://cs.wikipedia.org/wiki/Carl_Linn%C3%A9) a slouží ke třídění živých organismů.

Ve WordPressu slouží taxonomie pro **klasifikování vašich dat** a jejich seskupení do skupin a podskupin.

WordPress obsahuje tři zabudované [taxonomie](http://codex.wordpress.org/Taxonomies "taxonomie"):

- rubriky
- štítky
- rubriky odkazů

Rubriky a štítky jsou podobné příspěvkům a stránkám. Jedná se o **stejný typ obsahu** (taxonomie), ale ve výchozím nastavení se chovají rozdílně v tom, že **rubriky mají hierarchickou strukturu** a štítky ne.

**Taxonomie u rubrik odkazů** pracuje podobně jako štítky a může být teoreticky použita pro jakýkoliv typ objektu, nicméně ve výchozím nastavení se nezobrazuje a musí být **nejprve aktivována**.

Pomocí **vlastních taxonomií** můžete do WordPressu můžete přidat tolik dalších taxonomií, kolik jen chcete. Jejich chování poté bude podobné **rubrikám a štítkům**. Vlastní taxonomie budou mít položky. Všechny vaše taxonomie budou mít stejný status, jako ostatní zabudované taxonomie. Je to podobné, jako když vytváříte **vlastní typy příspěvků**.

### Položky

Každá taxonomie má položky, aby se **daly třídit data**. Rubrika je pouze položka v taxonomii rubrik a štítek je pouze položka v taxonomii štítků. Když vytvoříte vlastní taxonomie, musíte poté pro ni vytvořit položky. To můžete udělat přes **WordPress administraci** nebo použitím funkce *wp_insert_term()*.

Položky mohou být skvělé v **kombinaci s vlastními dotazy**. Například s nimi můžete vytvářet vlastní šablony, kde budete zobrazovat příspěvky s několika položkami, které se dají podle nich třídit.

## Jak WordPress ukládá taxonomie a položky

Jak jsme si již řekli v předchozích dílech seriálu, WordPress používá **vztah m:n**. Tento vztah je vytvořen za použití tří tabulek:

- wp_term_relationships
- wp_term_taxonomy
- wp_terms

Tyto tabulky jsou společně s propojenými tabulkami *wp_post *a *wp_links* zobrazeny níže:

[![taxonomie a položky v databázi](https://www.wplama.cz/wp-content/uploads/2014/11/taxonomie-a-polozky-v-databazi-585x1024.png "taxonomie a položky v databázi")](https://www.wplama.cz/wp-content/uploads/2014/11 / taxonomie-a-polozky-v-databazi.png)taxonomie a položky v databázi

Pojďme se podívat na to, jak každá tabulka funguje.

### Tabulka *wp_terms*

Tabulka *wp_terms* ukládá všechny **jednotlivé položky** pro rubriky, štítky, rubriky odkazů a vlastní taxonomie. Má čtyři pole:

- term_id je unikátní identifikátor
- name(jméno)
- slug
- term_group je pole, které WordPress v současné době nevyužívá a tak jej můžete klidně ignorovat

### Tabulka *wp_term_taxonomy*

Tabulka *wp_term_taxonomy* ukládá **další data o položkách** a taxonomiích. Má šest polí:

- term_taxonomy_id je unikátní identifikátor
- term_idpředstavuje unikátní identifikátor položky (z tabulkywp_terms), která je propojena s tímto záznamem
- taxonomy je jméno taxonomie, kam položka spadá
- description(popis)
- parent odkazuje na nadřazenou položku, pokud má taxonomie hierarchickou strukturu a existuje nadřazená položka
- count počet příspěvků v položce

Ve spoustě WordPress instalací**bude jeden záznam** v tabulce *wp_term_taxonomy* pro stejnou položku v tabulce *wp_terms*, ale může se stát, že zde budete mít více než jen jeden **záznam pro každou položku**. To se může stát v případě, že vytvoříte dvě položky se stejným jménem, ale rozdílným slugem.

To znamená, že vztah mezi těmito t**abulkami je 1:n**. Jeden záznam v tabulce *wp_term* může být propojen s několika záznamy v tabulce *wp_term_taxonomy*, ale každý záznam v tabulce *wp_term_taxonomy* je propojen pouze s jedním záznamem v tabulce *wp_terms*.

### Tabulka *wp_term_relationships*

Tabulka *wp_term_relationships *je nezbytná **pro tvorbu vztahu m:n**mezi objekty a položkami. Má pouze tři pole:

- object_id je propojen s post_idv tabulce wp_postsnebo link_idv tabulce wp_links
- term_taxonomy_id je propojen se stejným polem v tabulce wp_term_taxonomy
- term_order je pořadí, ve kterám byla položka přiřazena k objektu. Toto se používá pouze, pokud specifikujete řadící argument, když registrujete taxonomie. Ve výchozím nastavení je tato funkce vypnutá a pole má hodnotu 0.

Protože **každý objekt a položka** může souviset s několika záznamy v tublce *wp_term_relationships*, je zde vytvořen vztah m:n.

## Shrnutí

Vztah mezi objekty (například příspěvky a odkazy) a položkami je unikátní, a nejen protože je to**jediný m:n vztah ve WordPressu**.

Pochopením, jak tento vztah funguje a kde jsou data uložena, vám pomůže pochopit, jak **taxonomie a položky** pracují a jak správně použít [funkce](http://codex.wordpress.org/Function_Reference#Category.2C_Tag_and_Taxonomy_Functions "funkce taxonomie"), které s nimi souvisí.