WordPress - motywy, wtyczki, informacje, programowanie

Wtyczka Advanced Custom Fields

Advanced Custom Fields – genialne narzędzie do pól użytkownika

Wtyczka Advanced Custom Fields

Nasze oceny

Wersja 3.5.0

Jakość:
Wygoda obsługi:
Zaawansowanie:
Dokumentacja:
WordPress coraz częściej używany jest jako CMS w zastosowaniach, dalekich od zwykłego blogowania. Tworzone są złożone serwisy z wykorzystaniem dodatkowych możliwości WordPressa: taksonomii, typów oraz pól definiowanych przez użytkownika. Z cała pewnością najlepszym narzędziem do zarządzania polami użytkownika jest wtyczka Advanced Custom Fields.

Do definicji taksonomii i typów wpisów użytkownika warto użyć wtyczki Types. Jest bardzo solidna i profesjonalnie napisana. Ma ona też możliwość dodawania dodatkowych pól do standardowych albo utworzonych przez użytkownika typów wpisów. Chociaż ta opcja we wtyczce zrealizowana jest dość przyzwoicie, nie może się równać z wtyczką ACF czyli Advanced Custom Fields.

Advanced Custom Fields - grupy pól

Grupy pól zdefiniowane na potrzeby WPinternals.pl wtyczka Advanced Custom Fields

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

Wtyczka pozwala na definiowanie dodatkowych pól następujących rodzajów:

  • Tekst – zwykłe pole tekstowe
  • Obszar tekstowy – pole tekstowe wielolinijkowe
  • Edytor WYSIWYG – pole tekstowe wielolinijkowe z edytorem Wysiwyg
  • Obrazek – pole pozwalające na na wgranie obrazka (wygodnie wyświetla miniaturkę w zadanym wymiarze)
  • Plik   – pole pozwalające na na wgranie dowolnego pliku
  • Liczba (number) – pole liczbowe
  • Przycisk wyboru (dropdown) – lista wyboru, z możliwością wyboru wielokrotnego
  • Akceptowanie (checkbox) – pole przełącznika z wielokrotnym wyborem
  • Przycisk wyboru (radio) – pole przełącznika pojedyńczego wyboru
  • Prawda/Fałsz – proste pole wyboru tak / nie
  • Wybór daty – wygodny moduł do wybierania daty z możliwością wyboru formatu
  • Wybór koloru – pole do wybierania koloru przy pomocy wygodnego okienka
  • Link do strony – pole pozwalające wybrać artykuł z bazy (z możliwością ograniczenia tylko do wybranych typów artykułów) i przechowujące link do niego. Można ustawić możliwość wybrania wielu artykułów
  • Wpisy – pole działające z perspektywy użytkownika podobnie do pola Link do strony, ale zapewniające programiście dostęp nie tylko do URL ale do wszystkich danych (pól) linkowanego artykułu. Pozwala też ograniczyć wybór do zadanych kategorii lub pojęć z innych taksonomii
  • Relacja – pewien wariant pola typu Wpisy dla programisty działający tak samo, ale z nieco innym, ciekawszym interface od strony użytkownika. Pozwala też na ograniczenie liczby wybranych artykułów.

Edycja pola typu Relation we wtyczce Advanced Custom Fields

Oprócz tego w formie płatnych dodatków dostępne są dwa dodatkowe typy pól:

  • Pole powtarzalne (Repeater) – pozwala wybrać pole lub grupę pól, które redaktor będzie mógł dodać do artykułu wiele razy (dowolnie długą serię takich pól). Pole taki jest bardzo przydatne wtedy, gdy chcemy dodać do artykułu listę lub tabelę jakichś elementów, na przykład listę linków do zewnętrznych stron, bibliografię do artykułu (listę książek i publikacji), itp.
  • Elastyczna treść (Flexible content) – potężny mechanizm, przy pomocy którego możemy dowolnie grupować pola różnych typów, w tym typów Repeater i Flexible Content. Użytkownik może potem podczas edycji artykułu komponować z takich grup całe layouty, wybierając niektóre z nich, opuszczając inne, a inne wybierając wielokrotnie, w dowolnej kolejności.
  • Galeria – bardzo wygodne w użyciu pole pozwalające na dodanie do danego artykułu galerii obrazków

Możliwości wtyczki Advanced Custom Fields

  1. Pola są łączone w grupy i dzięki temu mogą być wyświetlone w jednym module w edytorze, lub w oddzielnych modułach, w głównej części edytora lub w bocznej kolumnie.
  2. Poszczególne grupy możemy przypisać do wszystkich lub tylko wybranych typów wpisów
  3. Definiując daną grupę możemy określić, które ze standardowych pól wpisu mają być dostępne, a które maja być ukryte.
  4. Możemy decydować w jakiej kolejności  pojawiają się pola i grupy pól na ekranie edytora.
  5. Tworzenie pól i edycja grup są zrobione bardzo porządnie i przyjaźnie.
  6. Można określić wartości domyślne,minimalne i maksymalne dla pól.
  7. Ostateczna postać pól, dostępna dla redaktorów jest także zrobiona bardzo starannie, korzystanie z pól jest wygodne i bezproblemowe.
  8. Korzystanie z pól od strony programisty jest genialnie proste. Do wszystkich pól wersji darmowej wystarczą dwie funkcje. Do pól Pole powtarzalne i Elastyczna treść mamy kilka dodatkowych funkcji.
  9. Wtyczka ma znakomitą dokumentację, dużo przykładów, własne forum.
  10. Zdefiniowane pola można wyeksportować w postaci XML i wczytać w innym serwisie. Można też wygenerować plik PHP z definicjami pól i użyć go np. w swojej wtyczce lub motywie.
  11. Dość łatwo jest samemu stworzyć dodatek definiujący nowy typ pola. Na serwisie wtyczki ACF jest dostępnych kilka takich dodatków napisanych przez innych developerów, np. dodatek pozwalający na dołaczenie pola z mapą Googla. Tworzenie takich własnych dodatków do wtyczki jest łatwe i dobrze udokumentowane.
  12. Wtyczka jest również zlokalizowana na język polski.
Advanced Custom Fields - Dodaj nowa grupe pól

Edycja grupy pól wtyczka ACF. Przykładowe pola do formularza o rekrutowanym pracowniku

Definiowanie własnych stron z ustawieniami

Bardzo ciekawą możłiwością dla użytkowników wtyczki ACF jest dodatek Options. Chociaż jest płatny, w pewnych sytuacjach wart jest każdego wydanego na niego centa. Każdy, kto kiedykolwiek tworzył strony z ustawieniami przy pomocy WordPress Settings API wie jakie to jest mozolne i niewdzięczne zajęcie. Przy pomocy dodatku Options możemy zdefiniować takie strony bardzo wygodnie w tym samym edytorze, który używamy do tworzenia grup pól dla wpisów i potem równie wygodnie się do nich odwoływać w kodzie serwisu. Dosłownie w dziesięć minut można stworzyć rozbudowaną stronę z ustawieniami, pozwalającą na wygodne wybieranie wpisów, kolorów, wgrywanie obrazków i plików. Bez wtyczki ACF i dodatku Options to mogą być całe dnie programowania.

Płatne dodatki i licencja

Płatne dodatki do wtyczki mają prosty system licencjonowania, po zakupie możemy je używać na tylu serwisach na ilu chcemy. Kod dodatków jest dołączony do wtyczki i dość łatwo jest ominąć blokadę co może być użyteczne do przetestowania ich przed zakupem. Sądzę, że dlatego właśnie autor nie stosował tu żadnych bardziej wyszukanych mechanizmów. A może to po prostu inna mentalność.

ACF - pole Galeria

Edycja pola Galeria – widok kafelkowy i lista z opisami

Biorąc pod uwagę, że sama wtyczka i płatne dodatki są raczej potrzebne w większych serwisach, koszt licencji jest naprawdę niewygórowany w porównaniu do innych występujących w takich wypadkach kosztów. Zwłaszcza, że może się amortyzować nie w jednym ale w dowolnej liczbie serwisów. Dla osób wykonujących serwisy na WordPressie na zamówienie, te dodatki mogą zaoszczędzić wiele kłopotów i całe dnie kodowania, pozwalając budować bardzo złożone formularze wpisów i strony z ustawieniami dosłownie kilkoma kliknięciami myszki. Dlatego zdecydowanie zalecam, żeby dać autorowi zarobić. Cwaniakowanie i omijanie zabezpieczeń płatnych dodatków zasługują w tym wypadku na szczere potępienie. Pomijam już, że omijanie zabezpieczeń trzeba powtarzać po każdej aktualizacji wtyczki, co jest zwyczajnie niewygodne i kompletnie nieprofesjonalne.

Podsumowanie

Chociaż w repozytorium na WordPress.org możemy znaleźć kilkadziesiąt tysięcy wtyczek, bardzo nieliczne są równie dobrze przemyślane i starannie napisane jak Advanced Custom Fields. Jeszcze mniej ma tak dobrze napisaną dokumentację (niestety tylko po angielsku). Bardzo polecam te wtyczkę wszystkim, którzy budują bardziej złożone serwisy. Jest też wykorzystywana na WPinternals.

Powiadomimy Cię o nowych artykułach

Komentarzy: 22

  1. Witam,

    bardzo ciekawy artykuł. Wyjaśnił mi około 60% wątpliwości.
    Ale pozostało 40%.
    Załóżmy, że dodałęm grupę pól do wpisów (jako typ wpisu jest równe post), dodaje post, ustawuiam co chce i zapisuje. Po czym sprawdzam we wpisać i dodało mi do pewnej kategorii, a nie widzę tych dodatkowych pól. Jka możńa dodać te pola, żeby były one widoczne?

    Dodatkowo mam pytanie:: czy jest jakaś wtyczka, która umożliwi przeszukiwanie tych dodatkowych pól? np mam dodany posta z polami typu: DOM, OGRÓD, POWIERZCHNIA i teraz chciałbym aby wtyczka wyszukiwałą mi osobno po DOM, OGRÓD i POWIERCHNIA, takie 3 pola do wyszukiwania (wybieram z listy) czy można to jakoś zrobić?

    ps. jak nazywa się ta wtyczka TAXONOMY??

  2. Wielkie dzięki za znalezienie i opis wtyczki. To naprawdę świetne rozwiązanie! Muszę ją zaktualizować do pełnej wersji, bo naprawdę warto.

  3. Cześć,
    bardzo fajna wtyczka. Zainstalowałem ją, dokupiłem od razu Repeater Field (pola powtarzalne) ale mam z tym dodatkiem problem. Pomimo tego, że ustalam limit rzędów (minimalny i maksymalny) to i tak na stronie edycji artykułu wyskakuje mi zawsze 617 rzędów. Nie wiem skąd ta liczba i nie wiem jak rozwiązać ten problem. Może ktoś miał podobnie i sobie z tym poradził?

    • Bardzo dziwne. Mam wykupione wszystkie dodatki. Używam tej wtyczki na wielu serwisach i nie miałem nigdy podobnych problemów. Sprawdź czy masz nową wersję. Powyłączaj inne wtyczki na chwilę, żeby sprawdzić czy z czymś nie koliduje. Sprawdź też czy podobne problemy pojawiają się jak zmienisz motyw (theme)

  4. Dzięki za szybką odpowiedź! Zrobiłem co poradziłeś i działa:) Pomogło zaktualizwoanie ACF i ponowne utworzenie własnego pola. Thanx.

  5. Jest to zapewne bardzo użyteczny plugin. Niemniej dla takiego początkującego jak ja, każdy plugin który wymaga zabawy z kodem (dla mnie to raczej udręki ) jest dość trudny do opanowania. W internecie udało mi się znaleźć masę poradników , ale stosując się do nich po dwóch dniach pracy jestem w punkcie wyjścia. Utworzyłem grupę pól, ale nie wiem jaki kod i gdzie mam go wkleić. Prosił bym o jakąś podpowiedź. Szablon którym się posługuję został stworzony w Arteesterze. Z tego co czytałem na forach generuje on dość specyficzny kod. Być może właśnie w tym tkwi problem. Czy mógłbym liczyć na jakąś pomoc. Na forach odpowiedź zazwyczaj jest odmowna, lub bardzo lakoniczna w formie wklej taki to a taki kod. Ok, ale gdzie, w jakim pliku , w jakim miejscu? Z góry dziękuję za odpowiedź.

  6. W którym miejscu to zależy czego oczekujesz, napisz dokładnie co chcesz zrobić.
    Otwórz stronę, w przeglądarce stronę na której chcesz umieścić te meta dane. Sprawdź kod źródłowy i wklej tutaj linijkę \body class=„….„ \,

    Żeby wyświetlić swoje pola stworzone we wtyczce musisz otworzyć szablon php czyli plik któryś z: single.php, archive.php, category.php, single-typwpisu.php, nie wiem jakie pliki ma ten twoj szablon.

    Pozniej w miejscu gdzie chcesz zeby te pola sie pojawily, np. zaraz za treścią strony, to szukasz w tym pliku php linijki the_content();

    I zaraz po niej doklejasz cos takiego:
    $dodatkowe = get_field( „dodatkowe” ); // dodatke to u mnie nazwa konkretnego pola,
    if ($dodatkowe) { echo ‚(div class=”twoja-klasa-pojemnika”) ‚ .$dodatkowe. ‚ (/div); }

    Mam nadzieję że komentarz nie utnie kodu.

    Calosc podanego kodu oczywiscie zawrzeć w tagach php, I znaczniki dla div poprawic – napisalem takie zeby nie ucielo ich.

    Tak wygląda standardowe użycie tego – pobierasz dane -> sprawdzasz czy dane istnieja -> jak tak to robisz jakis kod ( w tym momencie moze byc bardzo duzo divow itp, zanim wyswietlisz swoje pole, i w miejscu w ktorym ma sie pojawic tresc pola uzywasz zmiennej $dodatkowe.

  7. Mam pytanie. Poco w takim razie ten plugin skoro trzeba pola do strony dodawać ręcznie i ręcznie pisać arkusz stylu. Przecież można do strony podpiąć własny kod php który gada z zewnętrzną bazą danych ???? i wychodzi na to samo a przynajmniej wiem jak to działa.

    • Dodatkowe pola to mechanizm wbudowany WordPressa, który na wiele sposobów jest wspomagany przez niego. ACF pozwala je wygodnie definiować, dostarcza interface do wprowadzania i użytecznych funkcji, do korzystania z pól. WordPress obsługuje to bardzo generycznie. Pola są częścią wpisów razem je wyświetlasz. Pytanie do zewnętrznej bazy jest po prostu niewygodne. Kierując się taką logiką lepiej w ogóle nie używaj WordPressa (ani zadnego innego CMSa czy frameworku) – postaw bazę oprogramuj w PHP, będziesz wiedział jak to działa 🙂

      • No tak . Ja tego chyba nie czaje, a już myślałem, że może ułatwię sobie zadanie, bo ten wordpress to fajne narzędzie. Tutoriale niespójne i niedokończone. Pokazują jak tworzyć pola to i ja wiem bo interface jest zrozumiały ale już kodowanie leży, jeden robi tak a inny siak, a dokumentacja po angielsku. Szybciej mi będzie podpiąć własny kod do szablonu WordPressa.

  8. Witam,

    Mam problem z dopasowaniem zdjęć Top – miniaturka ikony wpisu. W obecnym wpisie, który widnieje na stronie głównej zdjęcie jest dopasowane do „Top” idealnie, natomiast miniaturka wpisu jest ucięta. Sytuacja zmienia się o 180 stopni gdy obraz w miniaturce ikony wpisu jest dopasowany prawidłowo to wtedy obraz w Topie jest ucięty.

    Przeczytałem na jednym z forów, że za pomocą wtyczki Advanced Custom Fields będę mógł dodawać zdjęcia wyświetlane w Topie ręcznie, a nie tak jak jest dotąd – automatycznie załączane z ikony wpisy. Niestety nie mam zielonego pojęcia w jaki sposób miałbym to zrobić. Dlatego też bardzo proszę o pomoc.

    http://apistogramma.pl/ – przy pierwszym wpisie widać w czym jest problem.

    Pozdrawiam

  9. nic nie ma o tym, jak wyswietla sie pola na stronie , po ich dodaniu

  10. Na początku wielkie dzięki za wpis. Co prawda mam już ją zainstalowaną i pododawane pola, ale teraz chciałbym stworzyć wyszukiwarkę, która miałaby pola checkbox, listę rozwijaną. Znalazłem coś takiego http://wpadvancedsearch.com/. Utworzyłem katalog jak w instrukcji, dodałem do pliku functions.php tę linię kodu i wtedy wywala mi błąd. I pytanie, co mógłbym zrobić? Czy są inne wtyczki albo coś pomijam. Dziękuję za wszelka pomoc.

  11. Wyżej napisałem najzwyczajniej bzdury. Miałem to przed oczami, ale najzwyczajniej źle uparcie to nazywałem. Zależy mi na filtrze pól custom fields.

    Jak coś takiego zrobić, bo na stronie wtyczki coś podają na ten temat, ale z ich instrukcją nie potrafię sobie poradzić i dlatego prosze o pomoc tutaj.

  12. A ja mam taki problem, chcę stworzyć własne pole tekstowe na stronie głównej. Czyli dodaktowy tekst. Próbuje z tą wtyczką, ale mi nie wychodzi. Nawet nie wiem w którym miejscu ten tekst do wyświetlenia miałabym wpisać. Zupełnie coś mi nie wychodzi.

  13. Nie bardzo sobie radzę z wyświetleniem stworzonego dodatkowego pola. Utworzyłem pole wgraj_pliki zrobiłem wszystkie ustawienia i utworzyło mi się pole po stronie edycyjnej , nad atrybutami strony. Chciałbym to połączyć z woocommerce tak aby klient w trakcie zakupu mógł wgrać pliki do druku. Czy ktoś może pomóc jak wyświetlić takie pole bez grzebania w kodzie?

Dodaj komentarz