Se stai provando a produrre qualcosa se è stata spuntata una casella, usa:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
Se stai provando a visualizzare solo un elenco delle opzioni selezionate, usa questo:
<p>Categories: <?php get_field('checkbox'); ?></p>
Questo ti darà una serie di valori che puoi gestire con una foreach
dichiarazione. L'uso the_field('checkbox')
ti darà una stringa separata da virgole delle opzioni che puoi anche dividere.
Suggerirei anche di visitare il sito di ACF e di consultare la documentazione. Alla maggior parte delle domande di questo tipo verrà data risposta in dettaglio decente e lo sviluppatore è attivo anche nei suoi forum di supporto.
EDIT: Se stai cercando la lista delle opzioni disponibili in una pagina per generare una query dinamica, ho la cosa giusta. Questo è un pezzo che ho appena creato ieri per estrarre un elenco di meta valori da una determinata chiave di campo personalizzata (usando ACF). L'ho reso abbastanza generico per te. C'è un altro pezzo di JS per gestire la richiesta Ajax, e un pezzo di php piuttosto contorto che emette i post risultanti. Non riesco davvero a riscriverli: il JS è una chiamata / risposta ajax standard WP rivolta in avanti, e il PHP è un casino di controlli condizionali per i 12 diversi campi ACF che stiamo visualizzando (2 dei quali sono ripetitori). Le basi sono questo codice qui, il pulsante onClick
chiama la funzione ajax in un file JS separato e il php per la funzione ajax stessa essenzialmente imposta una matrice di argomenti per la query,$selectedOption
o $_POST['option']
come meta_value. Ciò viene alimentato da a new WP_Query( $args );
, che viene quindi utilizzato in un loop, il cui output viene restituito a js tramite 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>';
}