หากคุณกำลังพยายามที่จะส่งออกบางสิ่งบางอย่างถ้าช่องทำเครื่องหมายถูกตรวจสอบใช้:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
หากคุณกำลังพยายามที่จะแสดงรายการของตัวเลือกที่เลือกใช้สิ่งนี้:
<p>Categories: <?php get_field('checkbox'); ?></p>
สิ่งนี้จะทำให้คุณมีค่าที่คุณสามารถจัดการได้ด้วยการforeach
ประกาศ การใช้the_field('checkbox')
จะให้สตริงที่คั่นด้วยเครื่องหมายจุลภาคของตัวเลือกที่คุณสามารถแยกได้เช่นกัน
ฉันขอแนะนำให้คุณไปที่เว็บไซต์ของ ACFและอ่านเอกสาร คำถามส่วนใหญ่ประเภทนี้จะตอบในรายละเอียดที่เหมาะสมและนักพัฒนามีการใช้งานในฟอรัมการสนับสนุนของเขาเช่นกัน
แก้ไข: หากคุณต้องการรายการของตัวเลือกที่มีอยู่ส่งออกไปยังหน้าสำหรับการสร้างแบบสอบถามแบบไดนามิกฉันมีสิ่งที่ นี่เป็นชิ้นส่วนที่ฉันเพิ่งสร้างเมื่อวานนี้เพื่อดึงรายการค่าเมตาจากคีย์ฟิลด์ที่กำหนดเอง (ใช้ ACF) ฉันได้ทำมันค่อนข้างทั่วไปสำหรับคุณ มีอีกอันหนึ่งของ JS สำหรับการจัดการคำขอ ajax และ php ที่ค่อนข้างซับซ้อนซึ่งแสดงผลลัพธ์ของการโพสต์ ฉันไม่สามารถเขียนซ้ำได้ - JS คือการโทร / ตอบกลับ ajax มาตรฐาน WP และ PHP เป็นระเบียบของการตรวจสอบตามเงื่อนไขสำหรับ 12 เขตข้อมูล ACF ที่แตกต่างกันที่เรากำลังแสดงอยู่ พื้นฐานคือโค้ดนี้ที่นี่ปุ่มonClick
เรียกใช้ฟังก์ชั่น ajax ในไฟล์ JS แยกต่างหากและ php สำหรับฟังก์ชั่น ajax นั้นตั้งค่าอาร์เรย์ของอาร์กิวเมนต์สำหรับเคียวรีเป็นหลัก$selectedOption
หรือ$_POST['option']
เป็น meta_value ที่ได้รับการเลี้ยงดูไปnew WP_Query( $args );
ซึ่งจะใช้แล้วในวงเอาท์พุทที่ได้รับการป้อนกลับไปยัง js ผ่านและadd_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
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>';
}