Se você estiver tentando enviar algo se uma caixa de seleção estiver marcada, use:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
Se você está tentando apenas exibir uma lista das opções selecionadas, use:
<p>Categories: <?php get_field('checkbox'); ?></p>
Isso fornecerá uma matriz de valores que você pode gerenciar com uma declaração foreach
. Usar the_field('checkbox')
fornecerá uma string separada por vírgula das opções que você também pode dividir.
Também sugiro que você acesse o site da ACF e leia a documentação. A maioria das perguntas desse tipo serão respondidas com detalhes decentes, e o desenvolvedor também está ativo em seus fóruns de suporte.
EDIT: Se você está querendo a lista de saída de opções disponíveis em uma página para gerar uma consulta dinâmica, eu tenho apenas a coisa. Esta é uma parte que eu acabei de construir ontem para puxar uma lista de meta valores de uma dada tecla de campo personalizado (usando ACF). Eu fiz isso bastante genérico para você. Há outro pedaço do JS para lidar com o pedido do ajax, e um pedaço complicado de php que produz os posts resultantes. Eu não posso realmente reescrevê-los - o JS é padrão WP forward-facing ajax chamada / resposta, eo PHP é uma confusão de verificações condicionais para os 12 campos ACF diferentes 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 para a própria função ajax essencialmente configura uma matriz de argumentos para a consulta, uma das quais é $selectedOption
ou $_POST['option']
como meta_value. Isso é alimentado para um new WP_Query( $args );
, que é então usado em um loop, cuja saída é retornada ao js via add_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
e add_action( 'wp_ajax_nopriv_the_ajax_hook', 'fetch_option_list' ); //for non logged-in users
.
// Get list of meta_values for given meta_key and post_type (page, post, custom post type)
function meta_list($key = '', $type = '', $status = 'publish'){
global $wpdb;
$r = $wpdb->get_col($wpdb->prepare( "
SELECT DISTINCT pm.meta_value FROM {$wpdb->postmeta} pm
LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
WHERE pm.meta_key = '%s'
AND p.post_status = '%s'
AND p.post_type = '%s'
ORDER BY pm.meta_value ASC", $key, $status, $type));
return $r;
}
// ADD EG A FORM TO THE PAGE
function meta_ajax_frontend(){
$formlist = meta_list('metakey', 'posttype');
echo '<form id="optionSelect">';
echo '<select id="optionList" name="optionList">';
foreach($formlist as $fl => $val) {
echo '<option>' . $val . '</option>';
}
echo '</select>';
echo '<input name="action" type="hidden" value="the_ajax_hook" />
<input id="submit_button" value = "Search" type="button" onClick="fetch_meta();" />
</form>
<div id="meta_list">
Please select an option from the list
</div>';
}