Strona opcji ACF: organizacja ustawień motywu

Funkcje acf_add_options_page() i acf_add_options_sub_page() wtyczki Advanced Custom Fields (ACF) są niezbędne do tworzenia spersonalizowanych stron opcji w WordPressie. Dzięki nim można efektywnie zorganizować ustawienia motywu, usprawniając zarządzanie konfiguracją witryny.

Tworzenie strony opcji ACF w panelu WordPressa

Poniżej przedstawiam przykład użycia tych funkcji w pliku functions.php motywu WordPressa:

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page(array(
        'page_title' => 'Ustawienia motywu',
        'menu_title' => 'Ustawienia motywu',
        'menu_slug' => 'theme-settings',
        'capability' => 'edit_posts',
        'redirect' => false
    ));

    acf_add_options_sub_page(array(
        'page_title' => 'Ustawienia Headera',
        'menu_title' => 'Header',
        'parent_slug' => 'theme-settings',
    ));
}

W tym przykładzie funkcja acf_add_options_page tworzy stronę główną o nazwie “Ustawienia motywu”, a acf_add_options_sub_page dodaje podstronę “Ustawienia Headera” pod nią. Taka struktura pozwala na lepszą organizację opcji dostosowywania motywu, co ułatwia administratorom witryn zarządzanie ustawieniami.

Dodanie pola do Options Page

  1. Przejdź do zakładki „Advanced Custom Fields” w menu bocznym i w „Grupy pól” kliknij przycisk „Dodaj nową”.
  2. Utwórz nową grupę pól, na przykład „Dane kontaktowe”.
  3. W sekcji „Lokacja” wybierz „Strona opcji” i wybierz właśnie utworzoną stronę opcji.
  4. Dodaj nowe pole typu „Text” i nazwij je np. „Telefon” i zapisz go.

Wyświetlenie pola w szablonie

Aby wyświetlić to pole w szablonie, użyj tego kodu:

<?php
$phone = get_field('phone', 'option');
if ($phone) {
    echo 'Telefon: ' . $phone;
}
?>

Ten kod sprawdzi, czy pole „Telefon” jest ustawione w opcjach strony ACF i wyświetli go, jeśli tak się dzieje.

W tym przykładzie wyraźnie widać, że poprzez proste manipulacje za pomocą funkcji ACF Options Page możesz stworzyć kompleksową stronę ustawień motywu oraz wiele innych opcji w panelu administracyjnym.