Si vous essayez de sortir quelque chose si une case à cocher a été cochée, utilisez:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
Si vous essayez d'afficher simplement une liste des options cochées, utilisez ceci:
<p>Categories: <?php get_field('checkbox'); ?></p>
Cela vous donnera un tableau de valeurs que vous pouvez gérer avec une foreach
déclaration. L'utilisation the_field('checkbox')
vous donnera une chaîne séparée par des virgules des options que vous pouvez également diviser.
Je vous suggère également d'aller sur le site d' ACF et de parcourir la documentation. La plupart des questions de ce type y trouveront une réponse assez détaillée, et le développeur est également actif dans ses forums de support.
EDIT: Si vous voulez que la liste des options disponibles soit sortie dans une page pour générer une requête dynamique, j'ai juste la chose. Ceci est un morceau que je viens de construire hier pour extraire une liste de méta-valeurs d'une clé de champ personnalisée donnée (en utilisant ACF). Je l'ai fait assez générique pour vous. Il y a un autre morceau de JS pour gérer la demande ajax, et un morceau de php plutôt alambiqué qui sort les messages résultants. Je ne peux pas vraiment réécrire ceux-ci - le JS est un appel / réponse ajax WP orienté vers l'avant standard, et le PHP est un gâchis de vérifications conditionnelles pour les 12 champs ACF différents que nous affichons (dont 2 sont des répéteurs). Les bases sont ce code ici, le bouton onClick
appelle la fonction ajax dans un fichier JS séparé, et le php pour la fonction ajax elle-même configure essentiellement un tableau d'arguments pour la requête,$selectedOption
ou en $_POST['option']
tant que meta_value. Celui-ci est envoyé à a new WP_Query( $args );
, qui est ensuite utilisé dans une boucle, dont la sortie est renvoyée aux js via add_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
et 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>';
}