Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
CUSTOM POST TYPES
Post formats
Kdo neví co je to Wordpress?
Základní rozdělení druhů obsahu

 POST – článek
 PAGE – stránka

 ATTACHMENT – soubor
 REVISION – revize
 NAVIGATION ...
POST - článek
Článek je obsah, který publikujete periodicky a dá se řadit do tematických
kategorií.
Je to základ blogů, we...
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ý“.
Typick...
ATTACHMENT - soubory
Každý soubor, který nahrajete do Wordpressu je attachment.
Protože se jedná o druh obsahu, má i svou ...
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...
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 info...
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é obal...
Podporované post formáty
 Aside
 Gallery
 Link
 Image

 Quote
 Status
 Video
 Audio

 Chat
Standartní článek
Aside
Gallery
Status a Link
Image
Quote
Video
Audio
Chat
Custom post types
Custom post type jsou vlastní druhy obsahu. Wordpress se díky možnosti
vytvářet vlastní obsah, začíná zb...
Taxonomie
Stejně jako u článků, je možné pro custom post types definovat taxonomie.
Protože jsem v minulém slidu zmiňoval ...
Použití custom post types
Šablony
V šablonách se vlastní typy obsahu používají především v souvislosti se
šablonou. Pokud ...
Příklady použití v šablonách
 Portfolio

 Faq
 Testimonials
Toto je několik z druhů obsahů, se kterými se můžete setkat...
Portfolio
Příklad portfolia, jako vlastního obsahu je šablona Enfold z Themeforest
Portfolio detail
FAQ custom post type
FAQ v šabloně Avada
Custom post types v pluginech
Většina nejznámějších pluginů, využívá vlastní druh obsahu.
 Woocommerce
 WP Property
 Ev...
Woocommerce
Woocommerce je nejpoužívanější plugin pro vytvoření eshopu z Wordpressu.
Pro vytvoření produktů a objednávek p...
Woocommerce detail produktu
Woocommerce kategorie produktu
K vlastnímu obsahu lze nadefinovat taxonomie, u Woocommerce produktu to
jsou kategorie prod...
WP Property – realitní plugin
Dalším velmi komplexním pluginem, který využívá custom post types je WP
Property. Díky kvali...
WP Property - nemovitost
Jak vytvořit vlastní Custom Post Type
Pomocí pluginu:
 Custom Post Type UI
 Types – Custom Fields and Post Types

Vygene...
Custom Post Type pluginy
Pluginy pro vygenerování vlastních druhů obsahů, nejsou vůbec špatné a
nemusíte se tedy prokousáv...
Online generátory
Je to obdoba pluginů, jedná se o formuláře dostupné online, které vám
vygenerují potřebný kód.
http://ge...
Použití funkcí
Pomocí funkcí jste schopni vygenerovat jakýkoliv vlastní druh obsahu.
Máte absolutní kontrolu nad kódem, mů...
Register post type
Register_post_type je funkce, s kterou zaregistrujete vámi zvolený druh obsahu.
Funkci i s jejími argum...
Custom post type - Reference
register_post_type - argumenty
 labels

 capability_type

 description

 capability

 public

 has_archive

 public...
Register_post_type - labels
Labels je pole výrazů, které budou k
obsahu přiřazeny.
Například pro name Produkty, by
singula...
Description/public/publicly_queryable
Description je popis vlastního obsahu, nesetkal jsem se s tím, kde by se měl
zobrazo...
Exclude_from_search / can_export
Exclude_from_search vyloučí definovaný obsah z vyhledávacího dotazu.
Defaultně je nastave...
Show_ui / show_in_nav_menu
Show_ui určuje, zda se bude pro daný post type zobrazovat nastavení v
administraci.
Show_in_nav...
Show_in_menu / show_in_admin_menu
Show_in_menu určuje, zda se zobrazí post type v postranním menu
administrace. Show_ui mu...
Query_var / hierarchical
Query_var nabízí větší kontrolu nad hodnotou, která bude použita v
parse_request().
Defaultně je ...
Rewrite
Rewrite umožňuje definovat strukturu permalinků a má několik hodnot. Může
být false, true, nebo array. Nás zajímaj...
Capabilities / capability_type
Capability_type – určuje podle jakého vzoru se bude vytvářet možnost úprav.
Můžete vytvořit...
Has_archive / register_meta_box_cb
Has_archive definuje, že post type má archív. Tedy, že jej bude možné
zobrazovat jako v...
Menu_icon / menu_position
Menu_icon je url adresa ikonky, která
se má zobrazit u položky v menu
administrace.
Menu_positio...
Supports
Supports určuje, co vše bude
definovaný post type podporovat.
V základu to je pouze title a editor.
 Title
 Edi...
Taxonomies
Pole registrovaných taxonomií, protože je stejně nutné vlastní taxonomie
registrovat, uvádím jen pro úplnost.
D...
Funkce register_taxonomy
Register_taxonomy je funkce, která umožňuje vytvořit vlastní taxonomii a
přiřadit ji k druhu obah...
Label a Labels
Label je název taxonomie, který se
bude zobrazovat v administraci. Lze
překládat.
Labels jsou všechny názvy...
Obdobné argumenty jako u post type
Některé argumenty a jejich použití je podobné jako u funkce
register_post_type. Zde je ...
Sort/update_count_callback/show_admin_column

Sort určuje, zda si bude taxonomie pamatovat pořadí, v jakém budou položky
p...
Show tag cloud
Show_tagcloud definuje, zda bude pro taxonomii vytvořen mrak štítků.
Děkuji vám za pozornost
Vladislav Musílek
Web:

Musilda.cz

Email:

musilekv@seznam.cz

Twitter:

@vladamusilek

Google+: ...
Custom post types a Post Format
Custom post types a Post Format
Custom post types a Post Format
Upcoming SlideShare
Loading in …5
×

Custom post types a Post Format

2,774 views

Published on

Wordpress Custom Types a Post Format se všemi argumenty. Přednáška z povedeného prvního Wordcampu u nás.

Published in: Technology
  • Be the first to comment

Custom post types a Post Format

  1. 1. CUSTOM POST TYPES Post formats
  2. 2. Kdo neví co je to Wordpress?
  3. 3. Základní rozdělení druhů obsahu  POST – článek  PAGE – stránka  ATTACHMENT – soubor  REVISION – revize  NAVIGATION MENU – navigační menu
  4. 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. 5. 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.
  6. 6. 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
  7. 7. 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.
  8. 8. 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.
  9. 9. 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‘ ) );
  10. 10. Podporované post formáty  Aside  Gallery  Link  Image  Quote  Status  Video  Audio  Chat
  11. 11. Standartní článek
  12. 12. Aside
  13. 13. Gallery
  14. 14. Status a Link
  15. 15. Image
  16. 16. Quote
  17. 17. Video
  18. 18. Audio
  19. 19. Chat
  20. 20. 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.
  21. 21. 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.
  22. 22. 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ů.
  23. 23. 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.
  24. 24. Portfolio Příklad portfolia, jako vlastního obsahu je šablona Enfold z Themeforest
  25. 25. Portfolio detail
  26. 26. FAQ custom post type FAQ v šabloně Avada
  27. 27. 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.
  28. 28. 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.
  29. 29. Woocommerce detail produktu
  30. 30. Woocommerce kategorie produktu K vlastnímu obsahu lze nadefinovat taxonomie, u Woocommerce produktu to jsou kategorie produktu a štítky produktu
  31. 31. 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ář.
  32. 32. WP Property - nemovitost
  33. 33. 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
  34. 34. 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.
  35. 35. 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/
  36. 36. 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
  37. 37. 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í:
  38. 38. Custom post type - Reference
  39. 39. register_post_type - argumenty  labels  capability_type  description  capability  public  has_archive  publicly_queryable  hierarchical  show_ui  menu_position  show_in_menu  menu_icon  show_in_nav_menus  map_meta_cap  show_in_admin_bar  supports  query_var  exclude_from_search  can_export  register_meta_box_cb  delete_with_user  taxonomies  rewrite
  40. 40. 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
  41. 41. 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.
  42. 42. 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.
  43. 43. 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.
  44. 44. 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í.
  45. 45. 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.
  46. 46. 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.
  47. 47. 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.
  48. 48. 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.
  49. 49. 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č
  50. 50. 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
  51. 51. Taxonomies Pole registrovaných taxonomií, protože je stejně nutné vlastní taxonomie registrovat, uvádím jen pro úplnost. Defaultní je bez taxonomií.
  52. 52. 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.
  53. 53. 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
  54. 54. 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
  55. 55. 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.
  56. 56. Show tag cloud Show_tagcloud definuje, zda bude pro taxonomii vytvořen mrak štítků.
  57. 57. Děkuji vám za pozornost Vladislav Musílek Web: Musilda.cz Email: musilekv@seznam.cz Twitter: @vladamusilek Google+: +MusilekVladislav Linkedin: vladislav-musílek

×