V máji 2016 som na našom blogu písal o vynikajúcom module pre WordPress Advanced Custom Fields – ACF. Keďže sa nám tento modul osvedčil, tak sme medzičasom prešli na jeho platenú PRO verziu. Tento nástroj nám pomáha vytvárať ľahko upravovateľné stránky pre klientov bez toho, aby potrebovali znalosti z programovania. V tomto článku sa budeme venovať najdôležitejším funkcionalitám, ktoré obsahuje platená PRO verzia (developerská verzia stojí 100$).

Opakovač polí (The repeater Field)

S týmto nástrojom vytvoríte prehľadnú štruktúru polí, ktoré si bude môcť klient podľa svojej potreby sám duplikovať alebo regulovať. Predstavme si, že robíme stránku, na ktorej sa majú zobrazovať členovia tímu. Pri programovaní bude stačiť vytvoriť polia, ako napríklad meno, fotka, pozícia, e-mail iba raz. Následne sa do kódu napíše loop, ktorý vyzerá nejako takto:


if( have_rows('our_team') ):
   while ( have_rows('our_team) ) : the_row();
       the_sub_field('first_name');
   endwhile;
else :
endif;

Klient alebo používateľ webu si bude môcť jednoducho pridávať ďalších členov podľa aktuálnej potreby. Pridanie prebieha stlačením jedného tlačidla podľa obrázku. Samozrejmosťou je možnosť pridávania opakovača do opakovača.
Bez tohto nástroja väčšina developerov, ktorých poznám, vytvárala túto štruktúru výrazne zložitejšie. Používateľ musel najprv vytvoriť „custom post” separátne. Ak ich však bolo veľa, tak sa menu v administrácii WordPressu stalo neprehľadné a úprava ťažkopádna, keďže napríklad stránku „náš tím” musel používateľ upravovať na dvoch rôznych miestach.

Stránka nastavení témy (Theme Options)

Sú určité typy údajov a informácií, ktoré sa opakujú na každej stránke. Napríklad kontaktné údaje v hlavičke a pätičke našej stránky alebo otváracie hodiny. Tieto údaje sa však budú možno dosť meniť. Preto nie je dobré mať ich v kóde napísané napevno.. Na to sa používa základný typ poľa, ktorý nájdeme aj vo free verzii. Výhoda PRO verzie je jednoduchá úprava v sekcii „Theme Options”. Vďaka tomu to stačí prepísať raz na prehľadnom mieste.

Túto stránku vytvoríme pridaním nasledujúceho kódu do functions.php.


if( function_exists('acf_add_options_page') ) {
acf_add_options_page();
}

Tu si môžete pozrieť aj ďalšie nastavenia tejto sekcie:


if( function_exists('acf_add_options_page') ) {
acf_add_options_page(array(
'page_title' => 'Theme General Settings',
'menu_title' => 'Theme Settings',
'menu_slug' => 'theme-general-settings',
'capability' => 'edit_posts',
'redirect' => false
));
acf_add_options_sub_page(array(
'page_title' => 'Theme Header Settings',
'menu_title' => 'Header',
'parent_slug' => 'theme-general-settings',
));
acf_add_options_sub_page(array(
'page_title' => 'Theme Footer Settings',
'menu_title' => 'Footer',
'parent_slug' => 'theme-general-settings',
));
}

V kóde voláme údaje z „Theme Options” takto:

 

Galéria

Toto rozšírenie PRO verzie dovoľuje developerovi vytvoriť galériu, ktorá bude pre budúceho majiteľa stránky príjemná a ľahká na úpravu. Zároveň mu pomôže ochrániť integritu stránky zadaním obmedzenia na minimálny a maximálny počet obrázkov. Kritériá sa dajú nastaviť aj pre veľkosti obrázkov či ich typ.

Základný loop vyzerá potom nejako takto:


if( have_rows('repeater_field_name') ):
   while ( have_rows('repeater_field_name') ) : the_row();
       the_sub_field('sub_field_name');
   endwhile;
else :
endif;

Vďaka ACF PRO viete spraviť WordPress web ľahšie editovateľný. Budúci správcovia webovej stránky nemusia vedieť upravovať php, html či css. Preto je dôležité weby programovať dynamicky, aby mali editovateľný obsah aj bez potreby zásahu do kódu.

Svet biznisu je dynamický a web tomu musí zodpovedať. Tvorba upravovateľnej a dynamickej webovej stránky je však časovo náročnejšia než tvorba statickej. To sa nám však vráti práve vďaka ľahkej úprave obsahu, na ktorú nepotrebujeme človeka so znalosťami webového programovania.