Vlastní konfigurační stránka pomocí pluginu ACF

Plugin advanced custom fields se řadí mezi nejlepší pluginy, které jsou určeny pro redakční systém wordpress. Plugin je možné stáhnout v bezplatné verzi,  ale existuje také možnost zakoupit verzi pro. Tato verze nabízí rozšířené možnosti tohoto pluginu oproti verzi, která je bezplatná. Jednou z těchto možností je to, že si člověk může vytvořit vlastní konfigurační stránku v rámci administrace wordpressu. Údaje z konfigurační stránky je pak možné používat na úrovni celého wordpressu ( může se jednat např. o údaje v záhlaví stránky, nastavení slideru, zápatí atd.)

1 .) V první kroku je nutné přidat php kód do souboru functions.php . Tento soubor se nachází v aktuálně používané šabloně. Avšak lepší variantou je vytvořit child dané šablony a následně až v childu (v soubor functions.php) použít daný níže uvedený kód

if( function_exists('acf_add_options_page') ) {
    
    acf_add_options_page(array(
        'page_title' 	=> 'Nastavení webu',
        'menu_title'	=> 'Nastavení web',
        'menu_slug' 	=> 'theme-general-settings', //pokud vytváříme i submenu tak je důležité nastavit stejnou hodnotu do parent_slug
        'capability'	=> 'edit_posts',
        'redirect'		=> false
    ));
    /* přidání submenu */
    acf_add_options_sub_page(array(
        'page_title' 	=> 'Nastavení hlavičky',
        'menu_title'	=> 'Hlavička',
        'parent_slug'	=> 'theme-general-settings',
    ));
    
    acf_add_options_sub_page(array(
        'page_title' 	=> 'Nastavení patičky',
        'menu_title'	=> 'Patička',
        'parent_slug'	=> 'theme-general-settings',
    ));
    
}

2 .) Po aplikování tohoto kódu se nám administrace webu wordpressu rozšíří o záložku Nastavení webu, ve které budou podpoložky Nastavení hlavičky a Nastavení patičky. Následně pak stačí v pluginu advanced custom fields pravidla a pole, která se mají v rámci daných stránek zobrazovat

3.) Po nastavení polí v rámci administrace je pak nutné upravit samotné php soubory šablony, ve kterých se mají zobrazovat naše nastavená pole. Ve většině případů se může jednat o soubor header.php, footer.php, single.php atd. (názvy souborů se však mohou lišit v závislosti od použité šablony)

Zobrazení uloženého pole provedeneme následujícím způsobem

$variable = get_field('nazev_pole', 'option');
echo $variable;

Tip na závěr

Některé šablony a pluginy mají svoji konfigurační stránku, tak již není potřeba vytvářet zvláštní záložku v menu wordpressu, ale můžeme využít již existující, do které jen včleníme naše submenu. Primárně důležité je však zjistit hodnotu menu_slug, kterou následně pak nastavíme jako parent_slug

if( function_exists('acf_add_options_page') ) {
 /* přidání submenu */ 
    acf_add_options_sub_page(array( 'page_title' => 'Nastavení hlavičky', 'menu_title' => 'Hlavička', 'parent_slug' => 'responsive-lightbox-settings', ));
    acf_add_options_sub_page(array( 'page_title' => 'Nastavení patičky', 'menu_title' => 'Patička', 'parent_slug' => 'responsive-lightbox-settings', )); 
}