Używam Advanced Custom Fields / ACF do tworzenia niestandardowych pól. Jednym z nich jest lista pól wyboru wyświetlających niektóre opcje (opcja 1, opcja 2, opcja 3 ...) .
Teraz chcę wyświetlić wszystkie opcje tego pola na osobnej stronie w interfejsie:
Opcje:
- opcja 1
- opcja 2
- opcja 3
- ...
Jak mogę pobrać wszystkie opcje za pomocą kluczy z ACF?
Odpowiedzi:
get_field_object
Funkcja ACF mogą być wykorzystane, aby uzyskać informacje i opcje dla konkretnej dziedzinie.Najpierw potrzebujesz klucza pola określonego pola, które chcesz wygenerować. Podczas edytowania grupy pól kliknij kartę opcji ekranu u góry strony. Powinieneś zobaczyć opcję przełączania wyświetlania klucza pola (jest on domyślnie ukryty, aby zaoszczędzić miejsce):
Po uzyskaniu klucza możesz załadować obiekt pola i wyprowadzić jego wartości:
źródło
Jeśli próbujesz wygenerować coś, jeśli pole wyboru było zaznaczone, użyj:
Jeśli próbujesz wyświetlić listę zaznaczonych opcji, użyj tego:
To da ci tablicę wartości, którymi możesz zarządzać za pomocą
foreach
deklaracji. Użyciethe_field('checkbox')
da ci ciąg opcji oddzielonych przecinkami, które możesz również podzielić.Sugerowałbym również, aby przejść do strony ACF i przejrzeć dokumentację. Odpowiedzi na większość tego typu pytań zostaną udzielone w przyzwoitych szczegółach, a programista jest również aktywny na forach pomocy technicznej.
EDYCJA: Jeśli chcesz, aby lista dostępnych opcji wyświetlała się na stronie w celu wygenerowania dynamicznego zapytania, mam właśnie to. Jest to kawałek, który właśnie zbudowałem wczoraj, aby wyciągnąć listę meta wartości z danego niestandardowego klucza pola (używając ACF). Uczyniłem to dla ciebie dość ogólną. Jest jeszcze jedna część JS do obsługi żądania ajax i dość zawiły kawałek php, który wysyła wynikowe posty. Naprawdę nie mogę ich przepisać - JS jest standardowym wywołaniem / odpowiedzią ajaxową zwróconą do przodu w WP, a PHP to bałagan kontroli warunkowych dla 12 różnych pól ACF, które wyświetlamy (z których 2 są repeaterami). Podstawą jest tutaj ten kod, przycisk
onClick
wywołuje funkcję ajax w osobnym pliku JS, a php samej funkcji ajax zasadniczo ustawia tablicę argumentów dla zapytania,$selectedOption
lub$_POST['option']
jako wartość_meta. To jest podawane donew WP_Query( $args );
pętli, która jest następnie wykorzystywana w pętli, której wyjście jest zwracane do js przezadd_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
iadd_action( 'wp_ajax_nopriv_the_ajax_hook', 'fetch_option_list' ); //for non logged-in users
.źródło
foreach
pętli do. Późniejsze funkcje przynoszą listę postów przez ajax, ale to zostawiłem