3. Základní rozdělení druhů obsahu
POST – článek
PAGE – stránka
ATTACHMENT – soubor
REVISION – revize
NAVIGATION MENU – navigační menu
4. POST - článek
Článek je obsah, který publikujete periodicky a dá se řadit do tematických
kategorií.
Je to základ blogů, webových magazínů a portálů.
Každý, kdo kategorizuje obsah, vytváří články.
Kategorie = Taxonomie
Protože články mohou být velmi různorodé, spojnice mezi nimi jsou
taxonomie, což se dá označit za společnou vlastnost určité množiny článků.
Do taxonomie patří i TAGY, štítky. Tagy mohou ještě více propojit články
navzájem, můžete mít kategorii Sport a kategorii Bulvár. Štítek Jaromír Jágr
propojí články „Jarda zase v kasínu“ a článek „Devils opět prohráli“.
5.
6. PAGE - stránka
Stránka je oproti článku obsah, který má ve struktuře webu neměnné místo a
jeho obsah je „Statický“.
Typickou ukázkou stránek, jsou firemní weby, kde najdete „O nás“,
„Reference“, „Kontakt“.
Stránka nemá kategorii, jde o část webu, která se často nemění a je
zaměřená na jednu „informaci“.
Příklad stránky – Reference
Stavební firma přidává na stránku reference, ale informace se nemění, pouze
se rozšiřuje její velikost.
7.
8. ATTACHMENT - soubory
Každý soubor, který nahrajete do Wordpressu je attachment.
Protože se jedná o druh obsahu, má i svou vlastní stránku.
URL souboru != url attachment page
Zde vzniká nepochopení, protože url souboru vede do složky, ale url attachment
page je na stejné úrovni, jako url článku, nebo stránky.
Attachment jsou ve většině případů obrázky.
Může ale jít o jakýkoliv soubor, který je podporován
jpeg
csv
pdf
mp4
9.
10. REVISION - revize
Revize jsou uložené všechny varianty jednoho článku, které jste vytvořili.
Každá změna, kterou uděláte v obsahu, se uloží jako revize a vy se k ní pak
budete moci vrátit v případě, že to bude potřeba.
11. Navigační menu
Navigační menu je obsah, který vytvoříte pokaždé, když uložíte nějaké menu.
Do něj se ukládají všechny informace, které Wordpress potřebuje pro
vygenerování menu.
Drtivá většina menu v šablonách jsou vytvářena tímto způsobem.
12. POST FORMATS – post formáty
Jak název napovídá, jedná se o různé formáty postů, tedy článků. Jsou to v
podstatě různé obaly na jeden druh obsahu. Pokud si druhy obsahu označíme
jako dopravní prostředky, tak stránka je automobil, článek je vlak.
Ve vlaku můžete najít normální vagón, kuřácký vagón, poštovní vagón, jídelní
vagón, atd…
Stejně tak je to i s post formáty, protože máte k dispozici články a těm můžete
přiřadit post formát normální, video, chat, obrázek, atd…
Šablona musí post formáty podporovat
V šabloně musí být definovaná podpora post formátů, jinak nejsou k dispozici
add_theme_support( ‚post-formats‘, array( ‚aside‘,‘image‘,‘video‘ ) );
23. Custom post types
Custom post type jsou vlastní druhy obsahu. Wordpress se díky možnosti
vytvářet vlastní obsah, začíná zbavovat nálepky blogovacího systému a
vznikají pro něj eshopové a další pluginy.
Můžete tak vytvořit jakýkoliv druh obsahu a ten pak používat. Jste schopni
separovat takový obsah od článků a stránek, díky čemuž je administrace
obsáhlejšího webu přehlednější.
Zároveň je díky hierarchickému uspořádání načítání souborů šablony, možné
vytvořit vlastní zobrazení obsahu custom post types.
V praxi to znamená, že pokud máte post type Hotel a vytvoříte soubor s
názvem single-hotel.php, při zobrazení detailu obsahu Hotel, Wordpress
automaticky načte tento soubor, který může být nastylován odlišným
způsobem, než zbytek šablony.
24. Taxonomie
Stejně jako u článků, je možné pro custom post types definovat taxonomie.
Protože jsem v minulém slidu zmiňoval Hotel, můžeme definovat taxonomie pro
Hotely.
Počet hvězdiček – hierarchická taxonomie
Poloha – hierarchická taxonomie
Výlety – nehierarchická taxonomie
Rozdíl mezi hierarchickou a nehierarchickou taxonomií, je v tom, že
hierarchická se vytváří jako kategorie u článků a dá se přiřazovat jako parent
a child. Naproti tomu nehierarchická se chová jako štítky.
25. Použití custom post types
Šablony
V šablonách se vlastní typy obsahu používají především v souvislosti se
šablonou. Pokud se jedná například o šablonu pro fotografa, který bude
prezentovat svou práci, může být součástí šablony Fotogalerie
Pluginy
Pokud logika vytvoření obsahu říká, že by měl být nezávislý na šabloně, je
vhodné umístit generování custom post types do pluginu. Příkladem jsou
eshopy, realitní pluginy, nebo inzertní pluginy. Osobně jsem příznivcem pluginů.
26. Příklady použití v šablonách
Portfolio
Faq
Testimonials
Toto je několik z druhů obsahů, se kterými se můžete setkat v
šablonách, většinou v prémiových.
30. Custom post types v pluginech
Většina nejznámějších pluginů, využívá vlastní druh obsahu.
Woocommerce
WP Property
Events Manager Plugin
Super Carousel
A mnoho dalších
Jsem příznivcem využívání vlastních druhů obsahu v pluginech, protože
propojení logiky custom post types se šablonami vás omezuje. Pokud změníte
šablonu, odstraníte funkce, které custom post types generují a nebudou se
vám zobrazovat.
31. Woocommerce
Woocommerce je nejpoužívanější plugin pro vytvoření eshopu z Wordpressu.
Pro vytvoření produktů a objednávek používá právě custom post types. Díky
tomu může být zboží i objednávky odděleny od ostatního obsahu a lze tak pro
něj vytvářet vlastní šablony.
33. Woocommerce kategorie produktu
K vlastnímu obsahu lze nadefinovat taxonomie, u Woocommerce produktu to
jsou kategorie produktu a štítky produktu
34. WP Property – realitní plugin
Dalším velmi komplexním pluginem, který využívá custom post types je WP
Property. Díky kvalitně zpracovanému způsobu správy vlastního
obsahu, dokážete z Wordpressu udělat stránky s pro realitní kancelář.
36. Jak vytvořit vlastní Custom Post Type
Pomocí pluginu:
Custom Post Type UI
Types – Custom Fields and Post Types
Vygenerováním v online generátoru
themergency.com/generators/wordpress-custom-post-types/
generatewp.com/post-type/
Použitím vlastní funkce
37. Custom Post Type pluginy
Pluginy pro vygenerování vlastních druhů obsahů, nejsou vůbec špatné a
nemusíte se tedy prokousávat codexem, aby jste si vytvořili například portfolio.
Nejpoužívanější je Custom Post Type UI, druhým je Types. Na Wordpress.org je
jich celá řada, liší se jen v drobnostech.
38. Online generátory
Je to obdoba pluginů, jedná se o formuláře dostupné online, které vám
vygenerují potřebný kód.
http://generatewp.com/post-type/
http://themergency.com/generators/wordpress-custom-post-types/
39. Použití funkcí
Pomocí funkcí jste schopni vygenerovat jakýkoliv vlastní druh obsahu.
Máte absolutní kontrolu nad kódem, můžete eliminovat to co nepotřebujete.
Vše prefixujte – vytvořte si originální prefix a ten použijte, předejdete konfliktům.
Rezervované názvy, jsou již dříve zmíněné druhy obsahu past, page, atd…
Nepoužívejte názvy
action
order
theme
40. Register post type
Register_post_type je funkce, s kterou zaregistrujete vámi zvolený druh obsahu.
Funkci i s jejími argumenty vložíte do funkce, kterou následně zavěsíte do init
action hooku.
Použití:
43. Register_post_type - labels
Labels je pole výrazů, které budou k
obsahu přiřazeny.
Například pro name Produkty, by
singular_name mělo být
Produkt, protože se jedná
pojmenování jednoho produktu.
Mimo name a singular_name se
výrazy zobrazují v
administraci, all_items – Všechny
reference, new_item – Nová
reference, atd…
name
singular_name
menu_name
all_items
add_new
add_new_item
edit_item
new_item
view_item
search_items
not_found
not_found_in_trash
parent_item_colon
44. Description/public/publicly_queryable
Description je popis vlastního obsahu, nesetkal jsem se s tím, kde by se měl
zobrazovat.
Public je argument, který určuje, zda je custom post type „veřejný“.
Dokumentace je v tomto bodě nejednoznačná. Pokud je true, měl by umožnit
přístup pro public_queryable, show_ui, show_in_nav_menus a
exclude_from_search nastaví na false.
Publicly_queryable – argument, který určuje, zda se bude custom post type
řadit do parse_request(). Jeho defaultní nastavení záleží na tom, zda je
definován. Pokud není, řídí se podle nastavení argumentu public. Pokud tedy
neuvedete public, nastaví se oba argumenty na false.
45. Exclude_from_search / can_export
Exclude_from_search vyloučí definovaný obsah z vyhledávacího dotazu.
Defaultně je nastavený na false, tedy je post type vyhledatelný. Opět to závisí
na jeho definici, nebo na definici public. Public je nastavený defaultně na
false, při neuvedení public a zároveň exclude_from_search, nebude možné
post type vyhledat. Při definování public – true, bude exclude_search
automaticky false.
Can_export definuje, zde se bude tento druh obsahu moci exportovat.
Defaultně nastaveno na true.
46. Show_ui / show_in_nav_menu
Show_ui určuje, zda se bude pro daný post type zobrazovat nastavení v
administraci.
Show_in_nav_menu definuje zobrazování obsahu v navigačních menu.
Oba argumenty jsou přímo závislé na argumentu public. Pokud je public
uvedený a nastavený na true, oba argumenty jsou také true. Pokud se vám
tedy nezobrazuje custom post type v nabídce menu, zkuste hledat problém
zde. Na druhou stranu, pokud definujete show_ui jako false, může být public
jaký chce, platí poslední definice.
47. Show_in_menu / show_in_admin_menu
Show_in_menu určuje, zda se zobrazí post type v postranním menu
administrace. Show_ui musí být true, jinak se vám nic nezobrazí.
Pokud bude show_in_menu false, nic neuvidíte, když bude true, zobrazí se
klasicky název post type. Můžete však ještě použít třetí parametr a přiřadit
menu třeba pod položku tool.
Show_in_admin_menu nastaví zobrazení v horním admin baru, ale závisí na
nastavení show_in_menu. Pokud bude false, nice se nezobrazí.
48. Query_var / hierarchical
Query_var nabízí větší kontrolu nad hodnotou, která bude použita v
parse_request().
Defaultně je nastavena na true a post type je tak k dispozici v query var. False
obsah znepřístupní pro query, ale je zde ještě třetí hodnota, kterou je string a
můžete tak definovat náhradu za ?{post_type_key=post-slug} na
?{co_tady_chci_mit=post-slug}
Hierarchical určuje, zda bude možné post type organizovat do stromové
struktury. Obdobně u page, můžete přiřazovat nadřazené stránky.
49. Rewrite
Rewrite umožňuje definovat strukturu permalinků a má několik hodnot. Může
být false, true, nebo array. Nás zajímají hodnoty pole.
Slug – řetězec, který se může překládat. Pokud není uvedený, použije se post
type.
With_front – definuje co bude před slug. Pokud bude ‚domy‘, bude ‚reference‘
špatně, správně bude ‚/domy/reference‘
Feeds – určuje, zda bude mít post type feed, tedy archív. Může být false, nebo
true.
Pages – určuje, zda bude mít post type stránkování. Opět může být true, nebo
false.
50. Capabilities / capability_type
Capability_type – určuje podle jakého vzoru se bude vytvářet možnost úprav.
Můžete vytvořit capability_type pro array(‚projekt‘,‘projekty‘), nebo jen pro
string – ‚projekt‘.
Capabilities – umožňuje definovat jednotlivé capabilities pro jednotlivé úkony.
Například ‚edit_post‘ => ‚edit_reference‘. Tím přiřadíte odpovídající možnost
pro úpravu post type. Pak můžete jednotlivým uživatelským rolím nadefinovat
přístup k tomuto post type.
Možné capabilities edit_post, read_post, delete_post, edit_posts, edit_others_posts, publish_posts, r
ead_private_posts.
51. Has_archive / register_meta_box_cb
Has_archive definuje, že post type má archív. Tedy, že jej bude možné
zobrazovat jako výpis kategorie, nebo archív článků.
Register_meta_box_cb nastaví, že u edit formuláře, tam kde budete post type
vytvářet a upravovat, můžete nadefinovat meta box.
52. Menu_icon / menu_position
Menu_icon je url adresa ikonky, která
se má zobrazit u položky v menu
administrace.
Menu_position – nastaví pozici
položky v administračním menu.
Defaultně bude umístěna pod
komentáře.
5 – pod Články
10 – pod Knihovnu médií
15 – pod Odkazy
20 – pod Stránky
25 – pod Komentáře
60 – pod první oddělovač
65 – pod Pluginy
70 – pod Uživatele
75 – pod Nástroje
80 – pod Nastavení
100 – pod druhý oddělovač
53. Supports
Supports určuje, co vše bude
definovaný post type podporovat.
V základu to je pouze title a editor.
Title
Editor
Author
Thumbnail
Excerpt
Trackbacks
Custom-fields
Comments
Revision
Page-attributes
Post-formats
55. Funkce register_taxonomy
Register_taxonomy je funkce, která umožňuje vytvořit vlastní taxonomii a
přiřadit ji k druhu obahu.
Zápis funkce je
register_taxonomy(‚druh_reference‘,‘reference‘,array(argumenty));
Druh reference je name(slug) taxonomie, reference je custom post type, pro
kterou je taxonomie určená. Třetí argument je pole, jehož hodnoty si
popíšeme.
56. Label a Labels
Label je název taxonomie, který se
bude zobrazovat v administraci. Lze
překládat.
Labels jsou všechny názvy, které
mohou být použití při popisu
taxonomie. Obdobně jsou i labels
pro custom post type.
name
singular_name
menu_name
all_items
edit_item
view_item
update_item
add_new_item
new_item_name
parent_item
parent_item_colon
search_items
popular_items
separate_items_with_commas
add_or_remove_items
choose_from_most_used
not_found
57. Obdobné argumenty jako u post type
Některé argumenty a jejich použití je podobné jako u funkce
register_post_type. Zde je jejich seznam.
public
show_ui
show_in_nav_menus
meta_box_cb
hierarchical
query_var
rewrite
capabilities
58. Sort/update_count_callback/show_admin_column
Sort určuje, zda si bude taxonomie pamatovat pořadí, v jakém budou položky
přidávány.
Update_count_callback, pomocí tohoto argumentu můžete definovat
funkci, která bude volána při změně počtu přiřazeného obsahu. U kategorií
můžete vidět počet článků v dané kategorii.
Show_admin_column určuje, zda se automaticky vytvoří položka taxonomie v
tabulce výpisu custom post type.