Advanced Custom Fields – własne pola w WordPress

Prawie każdy administrator strony lub bloga czasem odczuwa potrzebę dodania do konkretnej podstrony (wpisu, strony) lub kategorii dodatkowego niestandardowego pola, które rozszerzy stronę o specjalne nowe opcje.

Istnieje kilka sposobów na dodanie nowego pola. Jednym z nich jest użycie Advanced Custom Fields. Dzięki tej wtyczce możemy dodawać dodatkowe pola dla konkretnych stron, kategorii czy nawet wpisu.

Jak użyć wtyczki ADVANCED CUSTOM FIELDS (ACF)

Po pierwsze to trzeba ją zainstalować. Proces ten nie różni się od instalacji innych wtyczek. Po aktywacji pojawi się w menu kokpitu jako „Własne pola” – o ile macie zainstalowaną wersję polską WordPress.

Poniżej kilka ilustracji przedstawiających wersję wtyczki 4.4.7. Twoja wersja będzie z pewnością nowsza, może się trochę różnić wyglądem oraz posiadać dodatkowe opcje.

Wygląd panelu ADVANCED CUSTOM FIELDS z jednym typem pola
Wygląd panelu ADVANCED CUSTOM FIELDS z jednym typem pola

To pierwszy ekran jaki zobaczymy po wejściu w opcje wtyczki. Najważniejsze dla nas są w nim grupy pól. Aktualnie istnieje jedna grupa. Nazywa się „dodatkowe pola” i dysponuje 1 polem tekstowym. To od nas zależy jakie dodamy kolejne elementy.

Dodawanie nowej grupy typu pola
Dodawanie nowej grupy typu pola

Stworzone przez nas grupy pól, możemy następnie przypisać do konkretnego typu strony, wpisu lub kategorii. Do dyspozycji posiadamy mamy kilka warunków, dzięki czemu kryteria gdzie pojawią się nowe pole możemy określić precyzyjnie. Ustawiamy je w polu „Pozycja”.

Przykładowe uzupełnienie dodatkowego pola
Przykładowe uzupełnienie dodatkowego pola

Tak wygląda przykładowe wypełnienie pola dla dodatkowego pola tekstowego.

Przykładowe typy pól dostępne w bezpłatnej wersji
Przykładowe typy pól dostępne w bezpłatnej wersji

ACF dysponuje całkiem sporą ilością typów pól chociaż nie wszystkie są dostępne w darmowej wersji. Przykładowo mnie osobiście brakuje pola, które się „duplikuje”. Przydało by się np. do tabelki wypisywanej w pętli lub do stworzenia inteligentnej galerii z dowolną liczbą zdjęć.

Usuwanie zbędnego pola
Usuwanie zbędnego pola

Pola można również bezproblemowo usuwać.

Na koniec trzeba wszystko zapisać. Nowe pole pojawi się po wejściu w ustawienia wpisu lub strony spełniającej wyznaczone przez nas warunki. Dlatego dość istotne jest byśmy prawidło je oznaczyli.

Uzupełniamy pole zgodnie z jego przeznaczeniem i zapisujemy.

W tym miejscu wspomnę, że czasem w przypadku dodatkowych pól w formie rozwijanej listy czasem (gdzie wybieramy przygotowane wcześniej opcje) warto pamiętać by przy edycji, kiedy chcemy dodać nową opcję nie zmieniać kolejności pól bo trzeba będzie poprawiać wcześniejsze wpisy z już ustawionymi.

Typy pól które można utworzyć przy pomocy ACF

Wtyczka ta pozwala na definiowanie dodatkowych pól typu:

  • Tekst – czyli zwykłe pole tekstowe (jedna linijka)
  • Obszar tekstowy – pole tekstowe wielolinijkowe, rozciągające się
  • Edytor WYSIWYG – pole tekstowe wielolinijkowe z dodatkowym edytorem Wysiwyg (wygląda jak tradycyjny edytor tekstu WordPress)
  • Obrazek – pole pozwalające na dodanie dodatkowego obrazka
  • Plik – pole pozwalające na na wgranie pliku w dowolnym formacie
  • Liczba (number) – pole liczbowe
  • Przycisk wyboru (select) – lista wyboru
  • Akceptowanie (checkbox) – pole przełącznika z wielokrotnym wyborem
  • Przycisk wyboru (radio) – pole z możliwością pojedynczego wyboru
  • Prawda/Fałsz – proste pole wyboru tak / nie
  • Link do strony – pole pozwalające dodanie linku do innej strony internetowej
  • Wpisy – pole dające dostęp do danych zawartych w innym wpisie

Jak wyświetlić nowe pole w szablonie strony?

Na początek trzeba ustalić, który plik w naszym szablonie obsługuje wybrany przez nas typ strony lub wpisu oraz jaki warunek należy ustawić (w przypadku gdy wstawiamy tylko tekst z nowego pola nie jest wymagany). Jest to dość istotne bo czasem chcemy dodać również własny tekst i głupio by wyglądało gdyby wyświetlał się gdziekolwiek.

Następnie umieszczamy w odpowiednim miejscu kod np.:

lub

<?php the_field($field_name, $post_id); ?>

$field_name – nazwa pola
$post_id – id postu, wpisu

Przykładowe warunki:

Jeżeli pole zostało uzupełnione wypisz jego zawartość

<?php if( get_field('text_field') ): ?>
<h2><?php the_field('text_field'); ?></h2>
<?php endif; ?>

Wypisz wartość dla wpisu o id=123

<?php the_field('text_field', 123); ?>

Wyświetlanie wartości z innych miejsc

$post_id = null; // obecny wpis
$post_id = 1; // wpis nr 1
$post_id = "option"; // strona o nazwie "option"
$post_id = "options"; // jak powyżej
$post_id = "category_2"; // ukierunkowana na konkretną kategorię
$post_id = "event_3"; // ukierunkowana na konkretną taksonomię (w tym wypadku "event")
$post_id = "user_1"; // konkretny użytkownik (w tym wypadku o id = 1)

Więcej o konfiguracji pola znajduje się na na stronie\

  • https://www.advancedcustomfields.com/resources/get_field/
  • https://pl.wordpress.org/plugins/advanced-custom-fields/

dodatkowe tagi:
Jak tworzyć własne pola w WordPress i nich korzystać
Pola użytkownika, czyli Custom Fields – własne pola dla strony i artykułu
Własne pola we wpisie, na stronie
dodatkowa taksonomia