KT Theme Config

Velmi často nastane situace, že developer šablony potřebuje něco obecně definovat, nastavit nebo šabloně říct, jaké prvky při svém vývoji bude potřeba běžnému správci webových stránek nabídnout. Jsou věci, které se používají velmi minimálně, ale jsou také ty, které jsou prakticky denním chlebem každého developera WordPress šablony. Pro tento účel (tedy těch neustále opakovaných věcí) vznikla ve FW komponenta KT_WP_Configurator, která Vám s tím velmi snadno pomůže.

KT_WP_Configurator a jeho nastavení se umisťuje do: /kt/yourproject/requires/common/kt_theme_setup.inc.php

Ukázka načtení a implementace konfigurátoru

Jednotlivé části configurátoru se dělí do několika skupin. Některé jsou složité a rozsáhlé, jiné zase velmi jednoduché a prosté. Hlavním účelem configurátoru není vymýšlet vlastní funkce, ani obcházet nativní funkce WordPressu. Má nám pouze ulehčit a usnadnit práci se zaváděním těchto změn v šabloně. Ti, kteří znají WordPress velmi dobře, rychle zjistí, že Configurátor znovu neobjevuje Ameriku.

DOPORUČUJEME: Všechny stringové identifikátory v rámci PHP by měly být zapsány pomocí konstant! Pouze pro jednoduchost příkladů používáme přímo stringy.

WordPress menu

Velmi často je potřeba zavést pro správce lokace pro umístění WordpPress menu, které se pak vyčítá na Vámi připraveném místě ve front-endu.

Velikosti obrázků – Image Size

I zde platí pravidlo, že developer šablony potřebuje založit své vlastní velikosti obrázků, na které je následně možnost se odkázat.

Stručný výpis příspěvku

Registrace sidebars

I zde platí pravidlo, že to, co nevyplníte, se bude řídit defaultním nastavením WordPressu.

Mazání obrázků společně s postem

Občas jsou případy, kde je potřeba zajistit to, aby při smazání příspěvku nebo custom post_type došlo také ke smazání všech obrázků, které jsou k němu přiřazeny a nahrány v mediální knihovně. Toto nastavení lze také zapnout / vypnout pomocí configurátoru. Defaultně je tato funkcionalita na configurátoru vypnutá.

Theme Support

Styles and Scripts

Určitě všichni dají za pravdu tomu, že neustále do šablony potřebujete přidávat své vlastní scripty / styly nebo vyvolávat z kolekce samotného WordPressu. Spousta vývojářů také nepoužívá korektní cestu. Proto má FW připraven takzvaný AssetsConfigurator(), který je dostupný v rámci obecného Configurátoru.

Přidání CSS stylu

Přidání JS Scriptu

Page Remover

Velmi často se také provádí to, že v případě implementace šablony se správci stránek nabídne pouze ten obsah v administraci, který reálně využívá. Ostatní věci mohou být schované. Administrace se pak může více zpřehlednit. FW má na tuto věc připraven takzvaný pageRemover().

POZOR ! PageRemover zajišťuje pouze jednoduché schování stránky z menu WordPressu. Nezajišťuje její úplné vypnutí nebo znepřístupnění.

Připravené stránky

PageRemover má připravenou sadu rychlých funkcí, které snadno schovají některé ze základních stránek WordPress administrace.

  • removeDashbord() – schová nástěnku
  • removePosts() – schová příspěvky
  • removeMedia() – schová knihovnu obrázků
  • removePages() – schová stránky
  • removeComments() – schová komentáře
  • removeAppearance() – schová vzhled
  • removePlugins() – schová pluginy
  • removeUsers() – schová uživatele
  • removeTools() – schová nástroje
  • removeSettings() – schová nastavení

Schování jiné stránky

  • removePage($pageSlug) – schová stránky v první úrovni
  • removeSubPage($pageSlug, $subPageSlug) – schová stránku druhé úrovně

Widget Remover

Stejně jako schování stránek se někdy velmi hodí schování některých widgetů, které není vždy úplně vhodné uživateli nabízet.

Připravené widget

  • removePagesWidget() – stránky
  • removeCalendarWidget() – kalendář
  • removeArchivesWidget() – archív
  • removeLinksWidget() – odkazy
  • removeMetaWidget() – meta widget
  • removeSearchWidget() – vyhledávání
  • removeTextWidget() – text
  • removeCategoriesWidget() – kategorie
  • removeRecentPostsWidget() – nejnovější příspěvky
  • removeRecentCommentsWidget() – nejnovější komentáře
  • removeRssWidget() – RSS
  • removeTagCloudWidget() – tagy
  • removeNavMenuWidget() – menu
  • removeAllSystemWidgets() – všechny WP Widgety

Pokud potřebujete odstranit vlastní wiget – removeWidget( $widgetName ). Název widgetu koresponduje vždy s názvem jeho PHP třídy.

Widget register

Stejně jako je možné pomocí configu widgety ze systému odstraňovat, je možné je velmi snadno registrovat.

POZOR! Widget a stejně tak nazvaný název jeho PHP třídy musí být správně umístěn. Tedy ve složce, kde mají být definované widgety!

Metabox remover

I mezi metaboxy je řada těch, které nemusí být vždy úplně vhodné klientovi nabízet nebo je vůbec zobrazovat.

Všechny metaboxy, které jsou spojené s nějakým post_type, defaultně ruší metaboxy na post_type = post. Může se jim však předat parametr s vlastním post_type.

Připravené metaboxy pro post_type

  • removePostTagMetabox() – tagy
  • removeCategoryMetabox() – kategorie
  • removeExcerptMetabox() – stručný výpis příspěvku
  • removeTrackBacktMetabox() – track back
  • removeCommentStatusMetabox() – stav komentářů
  • removeCommentsMetabox() – komentáře
  • removeRevisionsMetabox() – revize
  • removeAuthorMetabox() – author
  • removeCustomFieldsMetabox() – uživatelské pole
  • removeSlugMetabox() – url adresa
  • removePageParentMetabox() – nastavení stránky (volba šablony a nadřazené stránky)

Připravené metaboxy pro nástěnku

  • removeDashboardQuicPress() – rychlý příspěvek
  • removeDashboardPrimary() – novinky
  • removeDashboardActivity() – poslední aktivity
  • removeDashboardIncomingLinks() – zpětné linky
  • removeDashboardComments() – poslední komentáře
  • clearWordpressDashboard() – všechny výše popsané metaboxy

Stránka pro nastavení šablony

Velmi často používanou, ne však nutnou funkcí je automaticky připravená stránka pro nastavení šablony – aspoň tak tomu říkáme ve FW. Je to stránka, která má vlastní sadu metaboxů a můžete do ní umístit Vámi definovaný metabox. Stránka je součástí KT_Custom_Metaboxs_Page komponenty. V rámci KT_WP_Configurator je však již jedna stránka připravena.

Lazy loading obrázků

Pomocí konfigurátoru je možné aktivovat v rámci WP lazy loading obrázků, který funguje ve spolupráci s JS skriptem unveil. Celý proces je řešen automaticky na základě filtrů: „post_thumbnail_html„, „get_avatar“ a „the_content„… K aktivaci samotné stačí vyvolat metodu setImagesLazyLoading s parametrem true a dále inicializovat unveil skript (KT_JQUERY_UNVEIL_SCRIPT).

Pak je ještě potřeba jedna věc, a to někde v rámci vlastních skriptů pro šablonu zavolat následující skript:

Cookie Statements

Podle EU by stránky, které používají cookies, měly minimálně uživatele o této skutečnosti upozornit. Proto jsme připravili v rámci KT_WP_Configurator přepínač setAllowCookieStatement(true), díky kterému se vykreslí základní poloprůhledný proužek s informací o používání cookies.

Protože ve většině případů je to celé kvůli Google Adsence, Analytics apod., tak odkaz pro více informací uvnitř proužku odkazuje na podmínky používání cookies od Google. Pokud byste to chtěli změnit, stačí pomocí filtru kt_cookie_statement_more_info_url_filter vrátit vlastní URL adresu s více informacemi o Vašem používání cookies, anebo je dále k dispozici filter kt_cookie_statement_content_filter, pomocí kterého je možné kompletně přepsat vlastní obsah proužku…

A pozor, od verze 1.8 je výpis cookie statement proužku řešen pomocí (WP) ajaxu, a tak je ještě potřeba implementovat JS kód, např.:

A ještě základní JS funkce pro práci s cookies pokud nemáte vlastní nebo externí knihovnu:

Post archivy v menu

Pokud chcete, aby se v menu nabízeli i archivy jednotlivých povolených post typů, tak stačí v rámci KT_WP_Configurator nastavit přepínač setPostArchiveMenu(true).

Logo WP Frameworku

Pokud chcete změnit administrační stránku tak, aby zobrazovala logo WP Frameworku, tak stačí v rámci KT_WP_Configurator nastavit přepínač setDisplayLogo(true).

Příklad

Takto například vypadá konfigurační soubor šablony, která pohání tuto webovou stránku:



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