KT WP Post Base Model

V rámci této báze pro modely vycházející z custom post type jsou zde připravené funkce a objekty, které jsou pro běžnou činnosti zapotřebí. Model je možné použít samostatně (nejedná se o abstraktní třídu) nebo lze dědit jeho vlastnosti pro Vámi definované a složitější modely.

Umístění modelu: kt/core/models/kt_wp_post_base_model.inc.php

Některé metody jsou osazeny „lazyLoadingem„. Data nejsou do modelu nahrána dříve, než jsou poprvé vyžádána.

Inicializace modelu

__construct(WP_Post = $post, $metaPrefix = null)

Pro inicializaci modelu musíme zadat objekt WP_Post, ze kterého model samotný vychází. $metaPrefix můžeme nastavit v případě, kdy potřebujeme pracovat se sadou meta hodnot, které mají stejný prefix v rámci jejich klíče. Dotaz se tak omezí a bude stahovat jenom ta data, která tímto prefixem začínají, ostatních si všímat nebude.

Sada getterů

getPost()

Vrátí objekt typu WP_Post, který byl zadán při inicializaci modelu. Je možné nad objektem získávat následně data běžným způsobem.

getAuthor()

Vrátí objekt typu KT_WP_User_Base_Model, který je připravený v rámci Frameworku. Objekt umožňuje následnou práci nad uživatelem. Metoda má nastaven lazyLoadingem.

 getMetas()

Vrátí kolekci všech metadat, které jsou k příspěvku přiřazeny. Pokud byl v konstruktoru definovaný metaPrefix, bude selekce omezena dle něj. Metoda je osazena lazyLoadingem.

 getFiles()

Vrátí objekt typu KT_WP_Post_file_list, který udržuje kolekci všech souborů, které byly nahrány do WordPress knihovny médií z prostředí detailu příspěvku. Mají tak automaticky zavedeného rodiče v podobě daného příspěvku. Metoda je osazena lazyLoadingem.

getGallery()

Vrátí objekt typu KT_WP_Post_Gallery, který udržuje kolekci všech obrázků, které byly nahrány do WordPress knihovny z médií z prostředí detailu příspěvku. Mají tak automaticky zavedeného rodiče v podobě daného příspěvku. Metoda je osazena lazyLoadingem.

Obecné funkce, pro práci s modelem

getPostId()

Vrátí ID příspěvku, z kterého byl model inicializován. Jedná se pouze o rychlejší přístup z důvodu často používané hodnoty ID.

 getTitle()

Vrátí název / titulek příspěvku. V rámci této metody je také aplikován WordPress filtr, který běžně využívají funkce the_title() nebo get_the_title().

 getContent()

Vrátí obsah příspěvku z pozice post_content. V rámci funkce nejsou aplikované všechny WP náležitosti, které jsou zapotřebí například při stránkování obsahu atd. Funkce je navržena pro minimalizaci systémových zdrojů. Pro plnou funkčnost je nutné použít ve WordPress loop the_content()

getExcerpt($withTheFilter = true)

Vrátí obsah zkráceného výpisu příspěvku. Funkce zaopatřuje potřebné filtry ze strany WordPressu. Parametr $withTheFilter definuje, zda se má na stručný výpis aplikovat filter „the_excerpt“.

 getPermalink()

Vrátí url adresu na detail daného postu.

 getTitleAttribute()

Vráti tvar titulku příspěvku tak, aby byl použitelný pro parametr title v rámci HTML tagu. Funkce v případě potřeby odstraní některé nežádoucí znaky, které by mohli HTML tag nauršit.

 getThumbnailId()

Vrátí ID náhledového obrázku. Funkce je osazena lazyLoadingem.

 getPublishDate($dateFormat = „d.m.Y“)

Vrátí datum publikace příspěvku ve tvaru 1.1.2004. V případě změny parametru na jiný PhP tvar bude automaticky aplikován na vrácený výsledek.

getElapsedTime()

Vrátí dopočet měsíců, dnů, hodin a minut od data publikace příspěvku

 getPostType()

Vrátí ty post_type

 getMetaValue($key)

Vrátí jednu hodnota metavalue na základě zadaného jeho názvu (klíče). Metoda je osazena lazyLoadingem. Při vyžádání se stáhnou všechny metadata na základě definovaného prefixu při inicializaci modelu.

 getTerms($taxonomy, array $args = array())

Vrátí kolekci (array) všech termů na základě zadaného názvu taxonomy, kam byl příspěvek zařazen. Metoda je osazena lazyLoadingem. V případě opakovaného volání metody se již neprovádí dotaz znovu. Parametr $args se řídí dle WordPress Codexu

Statická verze metody: getTermCollectionByPost(WP_Post $post, $termId, $taxonomy, $args = array());

 getTermsNames($taxonomy, array $args = array())

Vrátí kolekci všech termů v poli ve tvaru ID termu => Jméno termu. Metoda je osazena lazyLoadingem.

 getTermsSlugs($taxonomy, array $args = array())

Vrátí kolekci všech termů v poli ve tvaru ID Termu => slug termu. Metoda je osazena lazyLoadingem.

 getCategoriesIds(array $args = array())

Vrátí pole IDček kategorií příspěvku. Metoda je osazena lazyLoadingem.

hasExrept()

Vrátí true | false podle toho, zda má post zadán manuálně stručný výpis příspěvku.

hasThumbnail()

Vrátí true | false podle toho, zda byl příspěvku přidělen náhledový obrázek.

getWpCommentsCount($taxonomy, array $args = array())

Vrátí WP comments STD class s počtem komentářů příspěvku. Metoda je osazena lazyLoadingem.

isWpCommentsCount($taxonomy, array $args = array())

Kontrola, zda je k dispozici WP comments STD class s počtem komentářů příspěvku

getApprovedCommentsCount($taxonomy, array $args = array())

Vrátí počet povolených komentářů příspěvku

getTotalCommentsCount($taxonomy, array $args = array())

Vrátí celkový počet komentářů příspěvku

Statické metody

getTaxonomyTerm($termId, $taxonomy)

Vrátí term na základě jeho ID a názvu taxonomy do které patří.

getTaxonomyTermName($termId, $taxonomy)

Vrátí název termu na základě jeho ID a názvu taxonomy do které patří.

getTaxonomyTermSlug($termId, $taxonomy)

Vrátí slug termu na základě termId a taxonomy do které patří.

getPostMetas($postId = null, $prefix = null)

Vrátí kolekci všech metahodnot, které jsou u daného příspěvku uloženy. V případě, že nebude zadáno postId bude načteno z globální proměnný $post. Pokud bude psecifikován preffix, bude select hodnot omezen na ty klíče, který začínají daným prefixem.

getPostMetaValue($postId, $metaKey)

Vrátí hodnotu meta příspěvku na základě zadaného ID příspěvku a názvu klíče hodnoty.

getPostMeta($postId, $metaKey, $emptyText = true)

Vrátí hodnotu meta příspěvku na základě zadaného ID příspěvku a názvu. Pokud je nastavený parametry $emptyText na true, vrátí v případě neexistující hodnoty KT_EMPTY_TEXT (- – -).



Odebírejte novinky z FW

Sledujte nás!

Tyto stránky využívají Cookies. Používáním těchto stránek vyjadřujete souhlas s používáním Cookies.Zjistit víceOK, rozumím