✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak dynamicznie wypełniać zaawansowane ustawienia pól niestandardowych

13

Z niektórymi kodami PHP bardzo łatwo jest dynamicznie wypełniać wartości lub opcje zaawansowanych pól niestandardowych (ACF). Możesz to zrobić dla dowolnego rodzaju wejść, w tym wyborów radia, pól wyboru i tym podobnych. W tym poście przyjrzymy się, jak.

Filtr

Zaawansowane pola niestandardowe udostępnia filtr o nazwie [acf/load_field](https://www.advancedcustomfields.com/resources/acf-load_field/). Możesz użyć tego filtra na kilka różnych sposobów. Albo filtr acf/load_field, aby zastosować go do wszystkich rodzajów pól, albo dołączyć kod do przechwyconej funkcji, aby dowiedzieć się, jaki typ pola lub nazwę chcesz. Możesz też określić typ pola (acf/load_field/type=<type>), nazwę (acf/load_field/name=<name>) lub klucz (acf/load_field/key=<key>).

Załóżmy, że tworzymy takie pole tekstowe:

Jak dynamicznie wypełniać zaawansowane ustawienia pól niestandardowych

Możemy kierować na to acf/load_field/name=dyn_pop_example(kieruje tylko na to konkretne pole), acf/load_field/type=text(dotyczy wszystkich pól typu tekst) lub acf/load_field(dotyczy wszystkich pól dowolnego typu lub nazwy). Używając dwóch ostatnich filtrów, możesz oczywiście wewnątrz funkcji target przez określone informacje pola, takie jak nazwa. Każde pole w ACF również otrzymuje unikalny klucz, ale są one ukryte i służą głównie do użytku wewnętrznego ACF.

Filtr udostępnia jedną zmienną; tablica pola. Ta tablica zawiera wszystkie informacje o bieżącym polu. Po prostu zmieniasz informacje w tablicy i zwracasz zmodyfikowaną tablicę pól. W zależności od typu pola elementy tablicy różnią się. Na przykład typy pól wielokrotnego wyboru, takie jak select i radioboxes, będą miały element tablicy ‘ choices‘, którego nie będą miały pola typu tekst. Zalecam wykonanie var_dump()podanej tablicy, aby zobaczyć, do jakiego rodzaju informacji masz dostęp.

Zacznijmy przyglądać się prawdziwemu kodowi!

Populacja: proste przykłady

Ustawienie domyślnej wartości wprowadzania tekstu wyglądałoby mniej więcej tak:

add_filter('acf/load_field/name=dyn_pop_example', function($field) { $field['default_value'] = __('This is default value', 'txtdomain'); return $field; });

Wprowadzamy tekst na nazwę dyn_pop_examplei ustawiamy jego domyślną wartość (klucz ‘ default_value‘) na wybrany przez nas ciąg. Pole będzie wtedy renderowane tak:

Jak dynamicznie wypełniać zaawansowane ustawienia pól niestandardowych

Możesz modyfikować dowolne ustawienia pola. W poniższym przykładzie ustawiamy symbol zastępczy tekstu i instrukcje:

add_filter('acf/load_field/name=dyn_pop_example', function($field) { $field['placeholder'] = __('Type in here', 'txtdomain'); $field['instructions'] = __('Some instructions coming from code', 'txtdomain'); return $field; });

Co sprawi, że pole będzie renderowane tak:

Jak dynamicznie wypełniać zaawansowane ustawienia pól niestandardowych

Wypełnij wybory

Jeśli chcesz dynamicznie wypełniać pola wyboru, radia lub pola wyboru, robisz to w elemencie klucza tablicy „ choices". Ten choiceselement „ ” dotyczy wszystkich pól typu select, radio i checkbox.

Element „ choices” musi być tablicą par klucz + wartość. Klucze to wartości (które zostaną zapisane), a wartości to etykieta, która pojawia się jako wybór.

Załóżmy, że zmieniamy nasze pole na wybierz. Możesz pozostawić pola puste, ponieważ zostaną ustawione za pomocą naszego kodu.

Jak dynamicznie wypełniać zaawansowane ustawienia pól niestandardowych

Aby wypełnić wybory wyboru, robimy to w ten sposób:

W linii #2 - #6po prostu definiujemy tablicę wyborów. Dostosuj to do swoich potrzeb. W wierszu #7przypisujemy wybrane pola do naszej tablicy. Na wszelki wypadek ustawiamy również domyślną wartość pola. Nie jest to konieczne – bez linii #8select po prostu automatycznie wybierze pierwszy wybór w tablicy (‘czerwony’).

Powyższy kod wyrenderuje pole tak:

Jak dynamicznie wypełniać zaawansowane ustawienia pól niestandardowych

Wybór zależy od Ciebie, jedyne, o co musisz zadbać, to dostarczenie odpowiedniej tablicy klucz + wartość do choiceselementu „ ” pola. Jako podstawowy przykład ten przykład kodu pokazuje, w jaki sposób można zmienić normalne pole wyboru w wybór postów.

Powyższy przykład kodu powoduje, że zapytanie o post pobiera wszystkie strony i wypełnia tablicę wyboru identyfikatorami postów jako kluczami i tytułami postów jako wartościami. To tylko przykład; jeśli zamierzasz dokonać wyboru postów, ACF oferuje inne typy pól specjalnie do tego celu.

Źródło nagrywania: awhitepixel.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów