Advanced Custom Fields – pola własne w WordPressie bez kodu

Kod na monitorze, ilustracja pól własnych ACF w WordPressie

ACF w 5 minut

Advanced Custom Fields, w skrócie ACF, to wtyczka WordPressa, która pozwala dodać do wpisów i stron własne pola bez pisania kodu od zera. Zamiast jednego dużego edytora dostajesz konkretne rubryki: osobne pole na cenę, osobne na adres, osobne na zdjęcie. Każde z nich ma swój typ i swoje miejsce.

Działa to na grupach pól. Tworzysz grupę, wrzucasz do niej pola, a regułą lokalizacji decydujesz, gdzie ma się pojawić, na przykład tylko na stronach albo tylko we własnym typie treści. Potem wartości wyświetlasz w motywie dwiema funkcjami: the_field('nazwa') pokazuje wartość, a get_field('nazwa') ją zwraca do dalszego użycia.

ACF ma wersję darmową, która wystarcza do prostych projektów, oraz płatną ACF PRO z mocniejszymi polami, jak repeater czy flexible content. Najczęściej sięgają po nią osoby budujące strony portfolio, katalogi pracowników, oferty usług albo sklepy, gdzie produkt opisuje wiele oddzielnych parametrów.

Czym jest ACF i jaki problem rozwiązuje

ACF rozwiązuje problem treści, które nie mieszczą się w zwykłym polu tekstowym wpisu. Standardowy WordPress świetnie nadaje się do artykułu, ale gorzej radzi sobie z danymi, które mają stałą strukturę: parametry techniczne, godziny otwarcia, lista cech, powtarzalne sekcje.

Wyobraź sobie stronę z ofertą mieszkań. Każde ogłoszenie ma metraż, liczbę pokoi, piętro, cenę i galerię zdjęć. Wpisywanie tego wszystkiego w jeden edytor szybko zamienia się w bałagan, a każda osoba robi to inaczej. Z ACF każdy z tych elementów dostaje osobne, opisane pole, więc dane są spójne i łatwe do wyświetlenia w jednym szablonie.

Drugi powód jest praktyczny. ACF pozwala oddać klientowi prostą edycję treści w panelu, zamiast prosić go o ostrożność przy kodzie. Klient wpełni rubryki jak formularz, a strona sama układa je w gotowy wygląd.

Warto od razu rozwiać jedno nieporozumienie. ACF nie jest budowniczym stron w stylu Elementora. Nie służy do wizualnego układania całej strony myszką, tylko do strukturyzowania danych. Te dwa narzędzia często działają obok siebie: ACF trzyma dane, a motyw albo budowniczy je wyświetla.

Jak działa ACF: grupy pól i reguły lokalizacji

Sercem ACF są grupy pól oraz reguły lokalizacji, które razem decydują, jakie pola i gdzie się pojawią. To dwie rzeczy, które trzeba zrozumieć na początku, bo cała reszta z nich wynika.

Grupa pól to po prostu zestaw rubryk zebranych pod jedną nazwą. Możesz mieć grupę „Dane mieszkania” z polami metraż, pokoje i cena, oraz grupę „Dane firmy” z adresem i godzinami otwarcia. Każdą grupę konfigurujesz osobno w panelu wtyczki.

Reguły lokalizacji odpowiadają na pytanie „gdzie ta grupa ma być widoczna”. Możesz ją przypisać do konkretnego typu wpisu, do stron, do wpisów z danej kategorii albo nawet pokazać tylko wybranej roli użytkownika. Dzięki temu redaktor widzi dokładnie te pola, które są mu potrzebne, i nic poza tym.

Pola ACF można podpiąć nie tylko pod wpisy i strony. Działają też przy własnych typach treści, taksonomiach, użytkownikach, komentarzach, elementach menu, a w wersji PRO przy osobnym ekranie opcji. Wszystkie wartości lądują w bazie danych WordPressa, w tabeli z danymi meta.

Rodzaje pól w wersji darmowej

Darmowa wersja ACF daje kilkadziesiąt typów pól, które pokrywają większość codziennych potrzeb. Nie musisz znać ich wszystkich na pamięć. Wystarczy wiedzieć, że dla niemal każdego rodzaju danych jest gotowe, dopasowane pole.

Grupa pól Przykładowe typy Do czego pasują
Podstawowe tekst, obszar tekstowy, liczba, e-mail, URL, hasło Krótkie i dłuższe wartości tekstowe oraz dane kontaktowe
Wyboru lista rozwijana, checkbox, radio, prawda/fałsz Wybór z gotowych opcji albo prosty przełącznik
Treści edytor WYSIWYG, obraz, plik, oEmbed Sformatowany tekst, zdjęcia, dokumenty, osadzone wideo
Data i kolor date picker, time picker, color picker Uporządkowany zapis dat, godzin i barw
Relacyjne relationship, post object, taksonomia, użytkownik Łączenie wpisów między sobą i z innymi obiektami
Układu group, tab, accordion, message Porządkowanie panelu edycji, gdy pól jest dużo

Pola relacyjne często są niedoceniane, a potrafią najwięcej. Dzięki nim powiążesz na przykład wpis produktu z wpisem producenta albo artykuł z autorem, bez przepisywania tych samych danych w kółko. To właśnie one zamieniają zbiór luźnych wpisów w spójną, połączoną treść.

Co dostajesz w ACF PRO: repeater i flexible content

ACF PRO dokłada pola, które obsługują treści powtarzalne i elastyczne układy, czyli to, czego najczęściej brakuje w wersji darmowej. Sprzedawane jest w modelu licencji rocznej, rozliczanej według liczby witryn, na których wtyczka działa.

Najważniejsze pole PRO to repeater. Pozwala powielać ten sam zestaw pól dowolną liczbę razy. Idealne do listy pracowników, sekcji najczęstszych pytań albo wykazu cech produktu, gdzie z góry nie wiesz, ile pozycji się pojawi.

Drugie wielkie pole to flexible content. Buduje elastyczne układy stron z gotowych klocków-sekcji, które redaktor dowolnie układa: raz sekcja z tekstem, raz galeria, raz blok z opiniami. To podejście bliskie budowaniu strony z modułów, ale wciąż w obrębie uporządkowanych danych.

Do tego dochodzą pole galerii do zbiorów zdjęć, pole klonu, które kopiuje istniejące pola do innej grupy, oraz strona opcji do globalnych ustawień witryny, jak dane kontaktowe w stopce. Jeśli Twoja strona to prosta wizytówka, darmowa wersja zwykle wystarczy. Im bardziej treść się powtarza i rozgałęzia, tym szybciej docenisz PRO.

ACF a Gutenberg: własne bloki bez Reacta

W wersji PRO ACF pozwala tworzyć własne bloki edytora Gutenberg na podstawie pól, bez znajomości Reacta. To duże ułatwienie, bo natywne bloki WordPressa zwykle wymagają programowania w JavaScript.

Mechanizm jest prosty. Definiujesz pola, jak zwykle w ACF, a potem podpinasz je pod nowy blok i opisujesz jego wygląd w PHP. Redaktor dostaje gotowy klocek, który widzi i edytuje wprost w edytorze blokowym Gutenberg, z podglądem na żywo.

Takie bloki dobrze sprawdzają się przy powtarzalnych elementach strony, na przykład bloku z opinią klienta, kartą zespołu albo wyróżnioną sekcją z danymi. Zamiast uczyć klienta skomplikowanego budowniczego, dajesz mu kilka prostych, własnych bloków, które trudno zepsuć.

Jak wyświetlić pola ACF w motywie

Wartość pola ACF pojawia się na stronie dopiero, gdy motyw albo blok ją wyświetli, bo sam zapis w bazie nic nie pokazuje. To kluczowa rzecz do zrozumienia, zwłaszcza pod kątem SEO.

Najprostsza para funkcji to the_field('nazwa_pola') oraz get_field('nazwa_pola'). Pierwsza od razu wypisuje wartość w miejscu, w którym ją wstawisz. Druga zwraca wartość, ale jej nie pokazuje, dzięki czemu możesz ją najpierw przetworzyć, na przykład wstawić do warunku albo zbudować z niej link.

Pola powtarzalne i elastyczne obsługuje się w pętli. Konstrukcja have_rows(), the_row() i get_sub_field() przechodzi przez kolejne wiersze, na przykład po każdym pracowniku z listy. Brzmi technicznie, ale w praktyce to kilka linii, które kopiujesz i dopasowujesz do nazw swoich pól.

Gdy budujesz stronę headless albo integrację, pola ACF pobierzesz też przez REST API oraz WPGraphQL. To otwiera drogę do wyświetlania tych danych poza samym WordPressem, na przykład w aplikacji na WordPress REST API.

ACF a własne typy treści (custom post types)

ACF najpełniej pokazuje pazur w połączeniu z własnymi typami treści, czyli custom post types. Typ treści tworzy nową kategorię wpisów, na przykład „Realizacje” albo „Pracownicy”, a ACF dokłada im odpowiednie pola.

Kiedyś typy treści rejestrowało się kodem albo osobną wtyczką. Nowsze wersje ACF pozwalają rejestrować własne typy treści i taksonomie wprost z panelu wtyczki, bez dodatkowych narzędzi. To wygodne, bo całość konfigurujesz w jednym miejscu.

Typowe zastosowania powtarzają się na wielu stronach. Portfolio realizacji, katalog pracowników, lista usług, oferty nieruchomości, opisy produktów, a także sekcje strony głównej, które chcesz edytować osobno od reszty treści. Wszędzie tam ACF zamienia chaos w uporządkowane, łatwe do wyświetlenia dane.

Najczęstsze błędy i pułapki przy ACF

Większość problemów z ACF nie wynika z trudności wtyczki, tylko z kilku powtarzalnych pułapek. Warto poznać je wcześniej, bo część potrafi narobić cichych szkód, których długo nie widać.

Najgroźniejszy dla widoczności jest błąd SEO. Dane wpisane w pola ACF są niewidoczne dla Google, jeśli motyw ich nie renderuje w treści strony. Możesz mieć świetny opis produktu w polu, ale jeśli szablon go nie wyświetla, dla wyszukiwarki ten tekst nie istnieje.

Druga pułapka to nazwy pól. Zmiana nazwy pola po publikacji rozłącza je z zapisanymi wcześniej wartościami, bo ACF szuka danych po kluczu. Dlatego od początku nadawaj polom czytelne, spójne nazwy i potem ich nie ruszaj.

Trzecia rzecz to wydajność. Nadmiar pól i ciężkich pól relacyjnych na jednym wpisie potrafi obciążyć zapytania do bazy. Nie chodzi o to, żeby się bać, tylko żeby nie dokładać dziesiątek pól bez potrzeby. I pamiętaj: po wyłączeniu wtyczki dane zostają w bazie, ale przestają się wyświetlać, dopóki ktoś nie obsłuży ich w kodzie.

Kiedy ACF się przyda, a kiedy nie

ACF przyda się wszędzie tam, gdzie treść ma stałą strukturę i ktoś nietechniczny ma ją wygodnie edytować. Im więcej powtarzalnych danych, tym większy sens ma sięgnięcie po pola własne.

Bywają jednak strony, gdzie ACF to przerost formy nad treścią. Prosta wizytówka z kilkoma podstronami zwykle obejdzie się zwykłym edytorem i blokami, bez dokładania kolejnej wtyczki. Mniej elementów to mniej rzeczy, które mogą się zepsuć.

Warto znać alternatywy. WordPress ma wbudowane pola własne od dawna, ale są surowe, w formie klucz-wartość, i niewygodne dla nietechnicznych redaktorów; ACF dokłada do nich przyjazny interfejs. Istnieją też inne wtyczki do pól oraz rozwiązania oparte na blokach.

JSON / PHPeksport grup pól do pliku ułatwia wdrożenie na innym środowisku
Local JSONautomatyczny zapis definicji pól do motywu i wersjonowanie w repozytorium
2011rok debiutu ACF; dziś wtyczka należy do WP Engine

Na koniec ciekawostka o korzeniach. ACF stworzył Elliot Condon i wtyczka zadebiutowała w 2011 roku, a z czasem przeszła pod skrzydła większych firm, aż do WP Engine. Mechanizm Local JSON, który zapisuje definicje pól do plików w motywie, to jeden z tych dojrzałych detali, dzięki którym ACF dobrze czuje się w profesjonalnych, wersjonowanych projektach.

Najczęściej zadawane pytania

Co to jest ACF w WordPressie?

ACF, czyli Advanced Custom Fields, to wtyczka, która dodaje do WordPressa własne pola bez pisania kodu od zera. Pozwala uporządkować dane, jak cena, godziny otwarcia czy galeria, w osobnych rubrykach.

Pola grupujesz i przypisujesz regułami lokalizacji do wybranych treści, a wartości wyświetlasz w motywie funkcjami the_field() i get_field().

Czy ACF jest darmowe?

Tak, ACF ma darmową wersję dostępną w katalogu wtyczek WordPress, która wystarcza do prostych zastosowań. Obejmuje kilkadziesiąt typów pól, w tym tekst, obraz, listę wyboru i pola relacyjne.

Płatne ACF PRO dokłada pola repeater, flexible content, galerię, klon i stronę opcji. Sprzedawane jest jako licencja roczna rozliczana według liczby witryn.

Jaka jest różnica między ACF a ACF PRO?

ACF PRO różni się od wersji darmowej przede wszystkim polami do treści powtarzalnych i elastycznych układów. To repeater, flexible content, galeria, klon oraz strona opcji.

Jeśli budujesz prostą stronę, wersja darmowa zwykle wystarczy. Im więcej powtarzalnych sekcji i list, tym szybciej docenisz możliwości PRO.

Jak wyświetlić pole ACF na stronie?

Pole ACF wyświetlisz w motywie funkcją the_field('nazwa_pola'), która od razu wypisuje wartość. Jeśli chcesz wartość najpierw przetworzyć, użyj get_field('nazwa_pola'), która ją zwraca bez pokazywania.

Pola powtarzalne obsługujesz w pętli z have_rows(), the_row() i get_sub_field(). Sam zapis w bazie nie pojawi się na stronie, dopóki motyw go nie wyświetli.

Czy ACF szkodzi SEO?

ACF nie szkodzi SEO, o ile dane z pól są realnie wyświetlane w treści strony. Problem pojawia się wtedy, gdy wartość siedzi tylko w bazie, a motyw jej nie renderuje, bo wtedy Google jej nie widzi.

Dobrze użyte pola wręcz pomagają, bo porządkują treść i ułatwiają spójne wyświetlanie. Kluczowe jest, by szablon wypisywał te dane w widocznym kodzie HTML.

Czy ACF zastępuje Elementora?

Nie, ACF nie zastępuje budowniczego stron takiego jak Elementor, bo robi co innego. ACF strukturyzuje dane, a budowniczy wizualnie układa wygląd strony myszką.

W praktyce często działają razem: ACF trzyma uporządkowane dane, a motyw albo budowniczy wyświetla je w spójnym szablonie.

Czy mogę przenieść pola ACF na inną stronę?

Tak, grupy pól ACF można wyeksportować do pliku JSON lub do kodu PHP i wdrożyć na innym środowisku. To ułatwia przenoszenie konfiguracji między stroną testową a produkcyjną.

Dodatkowo mechanizm Local JSON automatycznie zapisuje definicje pól do motywu, dzięki czemu łatwo je wersjonować w repozytorium i utrzymać spójność.

Picture of Tomasz Zieliński
Tomasz Zieliński

Tomasz zajmuje się tematyką SEO, sztucznej inteligencji i automatyzacji pracy w marketingu internetowym. W swoich artykułach analizuje zmiany w algorytmach wyszukiwarek, rozwój narzędzi AI oraz nowe sposoby tworzenia i optymalizacji treści. Interesuje go przede wszystkim to, jak technologia wpływa na codzienną pracę specjalistów SEO, marketerów i twórców internetowych.

Facebook
Twitter
LinkedIn
Pinterest

Najnowsze Wpisy

Śledź nas