Jika Anda mencoba menampilkan sesuatu jika kotak centang dicentang, gunakan:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
Jika Anda mencoba untuk hanya menampilkan daftar opsi yang dicentang, gunakan ini:
<p>Categories: <?php get_field('checkbox'); ?></p>
Ini akan memberi Anda array nilai yang dapat Anda kelola dengan foreach
deklarasi. Menggunakan the_field('checkbox')
akan memberi Anda string yang dipisahkan koma dari opsi yang dapat Anda bagi juga.
Saya juga menyarankan Anda pergi ke situs ACF dan membaca dokumentasi. Sebagian besar pertanyaan jenis ini akan dijawab di sana dengan detail yang layak, dan pengembang juga aktif di forum dukungannya.
EDIT: Jika Anda ingin daftar pilihan opsi yang tersedia menjadi halaman untuk menghasilkan permintaan dinamis, saya baru saja melakukannya. Ini adalah bagian yang baru saya buat kemarin untuk menarik daftar nilai meta dari kunci bidang khusus yang diberikan (menggunakan ACF). Saya membuatnya cukup generik untuk Anda. Ada sepotong JS lain untuk menangani permintaan ajax, dan sepotong php yang agak berbelit-belit yang menampilkan tulisan yang dihasilkan. Saya tidak bisa benar-benar menulis ulangnya - JS adalah standar WP menghadap ke depan panggilan ajax / respon, dan PHP adalah berantakan pemeriksaan bersyarat untuk 12 bidang ACF yang kami tampilkan (2 di antaranya adalah repeater). Dasar-dasarnya adalah kode ini di sini, tombol onClick
memanggil fungsi ajax dalam file JS yang terpisah, dan php untuk fungsi ajax itu sendiri pada dasarnya mengatur array argumen untuk kueri,$selectedOption
atau $_POST['option']
sebagai meta_value. Itu akan diumpankan ke new WP_Query( $args );
, yang kemudian digunakan dalam satu lingkaran, output yang akan diumpankan kembali ke js via add_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
dan 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>';
}