Se você estiver tentando produzir 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 exibir apenas uma lista das opções marcadas, use o seguinte:
<p>Categories: <?php get_field('checkbox'); ?></p>
Isso fornecerá uma matriz de valores que você pode gerenciar com uma foreach
declaração. O uso the_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 a new WP_Query( $args );
, que é então usado em um loop, cuja saída é alimentada de volta aos 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>';
}