Si está intentando generar algo si se marcó una casilla de verificación, use:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
Si está tratando de mostrar una lista de las opciones marcadas, use esto:
<p>Categories: <?php get_field('checkbox'); ?></p>
Esto le dará una serie de valores que puede administrar con una foreach
declaración. El uso the_field('checkbox')
le dará una cadena separada por comas de las opciones que también puede dividir.
También te sugiero que vayas al sitio de ACF y revises la documentación. La mayoría de las preguntas de este tipo serán respondidas allí con detalles decentes, y el desarrollador también está activo en sus foros de soporte.
EDITAR: si desea que la lista de opciones disponibles salga en una página para generar una consulta dinámica, tengo justo lo que necesita. Esta es una pieza que construí ayer para extraer una lista de meta valores de una clave de campo personalizada (usando ACF). Lo he hecho bastante genérico para ti. Hay otra parte de JS para manejar la solicitud de ajax, y una pieza bastante complicada de php que genera las publicaciones resultantes. Realmente no puedo reescribirlos: el JS es una llamada / respuesta ajax estándar de WP orientada hacia adelante, y el PHP es un desastre de verificaciones condicionales para los 12 campos ACF diferentes que estamos mostrando (2 de los cuales son repetidores). Lo básico es este código aquí, el botón onClick
llama a la función ajax en un archivo JS separado, y el php para la función ajax en sí misma esencialmente configura una matriz de argumentos para la consulta,$selectedOption
o $_POST['option']
como meta_value. Eso se alimenta a a new WP_Query( $args );
, que luego se usa en un bucle, cuya salida se retroalimenta a js a través de add_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
y 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>';
}