Metaboxy – 2. Díl – Vlastní stránky s metaboxy

11.03.2015 | Tomáš Kocifaj

V minulém díle jsme si ukázali, jak snadno přidat metabox k post typům – ať už nativním v rámci WordPressu nebo k těm, které si sami registrujete a potřebujete rozšířit jejich parametry. Nyní si ukážeme, jak udělat vlastní stránku v administraci WordPressu, umístit do něj potřebné metaboxy pro uložení nastavení.

Jaké komponenty budeme potřebovat?

  1. KT Admin Screen – pro vytvoření vlastní admin stránky s možností metaboxů
  2. KT Form Fieldset – pro definování fieldů v metaboxů
  3. KT Metabox – hlavní komponenta pro práci s metaboxy

Pojďme si nyní ukázat, jak na to. Začneme s tím, že si vytvoříme v administraci WordPressu vlastní stránku.

Definice vlastní admin stránky s metaboxy

K založení takové stránky (jinak také řečeno „screeny“) budeme potřebovat zmiňovanou komponentu KT Admin Screen, která se nám o tuto záležitost automaticky postará.

Definici stránky a její nastavení zapisujeme do:
/yours/requires/admin_screen/kt_fw_{nazev_stranky}_page.inc.php. 
Název stránky obecně nahrazujeme slugem nebo obecně známým názvem pro danou stránku.

Vytvořím si teda soubor na uvedeném místě, který pojmenuji: kt_fw_test_page.inc.php (slug test není vhodný, ale pro použití v tutoriálu nám postačí)

Nyní, když soubor uložíte a provedete obnovu administrace WordPressu, uvidíte naší stránku hned nad položkou „vzhled“.

Vlastní stránky s metaboxy v administraci

Vytvoření fieldsetu s potřebnými vstupy pro uživatele

Jak jsme již popisovali v minulém díle, pokud potřebujeme získat od uživatele nějaké data / nastavení, je potřeba mu připravit také formulář. To provedeme v souboru s configem a použijeme komponentu KT Form Fieldset.

Soubor s configem umístíme do: /yours/configs/kt_fw_test_page_config.inc.php

Nezapomínejte, že třída s configem se musí jmenovat stejně jako daný soubor, aby jí  autoloader byl schopen korektně načíst.

Registrace metaboxu pro námi vytvořenou stránku

Nyní, když máme vytvořený fieldset, je potřeba vytvořit poslední část naší skládanky a použít komponentu KT Metabox pro vytvoření metaboxu, který následně umístíme do příslušné složky metabox, kterou jsme si definovali v minulém díle.

Když se nyní podíváme na naší stránku a provedeme obnovení, uvidíme náš metabox s fieldsetem, který jsme mu definovali v našem configu. Všechny data budou dostupné pod klíčem (identifikátorem našeho filedu) v tabulce wp_options – budou se také automaticky validovat dle zadaných pravidel.

Náš nový metabox na vlastní stránce v administraci

Registrace metaboxů s tlačítkem pro uložení dat

Když se na to nyní podíváme, říkáte si určitě, jak ale ty data uložím. Nechybí nám tu nějaké tlačítko? Ano, máte pravdu, je potřeba vytvořit metabox, kterým vše uložíme. Nebojte se ale, na všechno myslí framework. Do našeho souboru kt_fw_test_page.inc.php kde definujeme naší stránku přidáme drobný kód, kterým vše řádně „aktivujeme“.

Když se podíváme na naší stránku po této úpravě kódu, vidíme, že již máme připravený metabox pro uložení. Nyní stačí jen přidávat metabox za metaboxem a o zbytek se nám stará Framework.

Registrace metaboxu s tlačítkem pro uložení

Nezapomeňte, že i v tomto případě se dá využít funkce na komponentně KT_Metabox::createMultiple(); Metaboxů pro nastavení můžete využít libovolně mnoho. Stačí pouze vše správně vydefinovat na configu a předat do příslušné stránky.

Hotovo! Gratulujeme – právě jste vytvořili svou vlastní stránku s nastavením, která se bude dle chovat jako jednotlivé metaboxy.

Získání dat z nastavení

Pro získávání dat byste měli správně využívat komponentu KT WP Option Base Model. Můžete k datům ale přistupovat běžným způsobem pomocí funkcí get_option().

Tento přístup však nedoporučujeme – je dosti krkolomný a zbytečně provádíte mnoho dotazů do databáze pro získání jednotlivých hodnot.

Podobné články

V předchozích dílech jsme si ukázali, jak snadno a rychle vytvořit metabox, jak do něj umístit prvky formuláře proto, abychom…

Pokud si někdo není jistý, co to metabox je, rádi bychom udělali malou rekapitulaci. Metabox je ve WordPressu blok, který…

Tento díl nám ukáže, jak je možné vytvářet vlastní typy obsahu – mimo databázovou strukturu. Velmi často nastává situace, kdy…

O autorovi: Tomáš Kocifaj

Tomáš Kocifaj

Tomáš aktivně v oboru tvorby webových stránek podniká už 6. rok. Za tu dobu nasbíral spoustu zkušeností, dovedností a představu o tom, jak by měla práce takového člověka probíhat. Čím by se neměl zdržovat, zatěžovat a podle toho také s kolegou Martinem začal psát tento projekt.



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