Estou usando campos personalizados avançados / ACF para criar campos personalizados. Uma delas é uma lista de caixas de seleção que exibem algumas opções (opção1, opção2, opção3 ...) .
Agora eu quero exibir todas as opções desse campo em uma página separada no front-end da seguinte forma:
Opções:
- opção 1
- opção 2
- opção 3
- ...
Como posso recuperar todas as opções com chaves do ACF?
Respostas:
A
get_field_object
função ACF pode ser usada para obter informações e opções para um campo específico.Primeiro, você precisa da chave do campo específico que deseja gerar. Ao editar um grupo de campos, clique na guia de opções da tela na parte superior da página. Você deverá ver uma opção para alternar a exibição da chave do campo (ela está oculta por padrão para economizar espaço):
Depois de ter a chave, você pode carregar o objeto de campo e gerar seus valores:
fonte
Se você estiver tentando produzir algo se uma caixa de seleção estiver marcada, use:
Se você está tentando exibir apenas uma lista das opções marcadas, use o seguinte:
Isso fornecerá uma matriz de valores que você pode gerenciar com uma
foreach
declaração. O usothe_field('checkbox')
fornecerá uma sequência separada por vírgula das opções que você também pode dividir.Eu também sugiro que você vá ao site da ACF e consulte a documentação. A maioria das perguntas desse tipo será respondida lá em detalhes decentes, e o desenvolvedor também está ativo em seus fóruns de suporte.
EDIT: Se você deseja a lista de opções disponíveis em uma página para gerar uma consulta dinâmica, eu tenho exatamente isso. Esta é uma peça que acabei de construir ontem para extrair uma lista de meta-valores de uma determinada chave de campo personalizada (usando o ACF). Eu fiz isso bastante genérico para você. Há outro pedaço de JS para lidar com a solicitação ajax, e um pedaço de php bastante complicado que gera as postagens resultantes. Eu realmente não posso reescrevê-las - o JS é uma chamada / resposta ajax voltada para a frente padrão do WP, e o PHP é uma bagunça de verificações condicionais para os 12 campos diferentes do ACF que estamos exibindo (2 dos quais são repetidores). O básico é esse código aqui, o botão
onClick
chama a função ajax em um arquivo JS separado, e o php da função ajax em si configura essencialmente uma matriz de argumentos para a consulta,$selectedOption
ou$_POST['option']
como meta_value. Isso é alimentado com anew WP_Query( $args );
, que é então usado em um loop, cuja saída é alimentada de volta aos js viaadd_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
eadd_action( 'wp_ajax_nopriv_the_ajax_hook', 'fetch_option_list' ); //for non logged-in users
.fonte
foreach
percorrer as funções posteriores trazem a lista de mensagens via Ajax, mas deixei que pouco fora..