Bir onay kutusu işaretliyse bir şey çıkarmaya çalışıyorsanız, şunu kullanın:
<?php if(in_array('news', get_field('checkbox') )): ?>
<h1>News was ticked!</h1>
<?php endif; ?>
Yalnızca işaretli seçeneklerin bir listesini görüntülemeye çalışıyorsanız, bunu kullanın:
<p>Categories: <?php get_field('checkbox'); ?></p>
Bu, bir foreach
bildirimle yönetebileceğiniz bir değerler dizisi verecektir . Kullanmak the_field('checkbox')
, bölebileceğiniz seçeneklerin virgülle ayrılmış bir dizesini verecektir.
Ayrıca ACF'nin sitesine gitmenizi ve belgeleri gözden geçirmenizi öneririm . Bu tür soruların çoğu orada ayrıntılı olarak cevaplanacaktır ve geliştirici destek forumlarında da aktiftir.
EDIT: Dinamik bir sorgu oluşturmak için bir sayfaya çıktı kullanılabilir seçenekler listesi istiyorsanız, sadece bir şey var. Bu, belirli bir özel alan anahtarından (ACF kullanarak) meta değerleri listesini çekmek için dün oluşturduğum bir parçadır. Senin için oldukça genel yaptım. Ajax isteğini işlemek için bir başka JS parçası ve ortaya çıkan yayınları çıkaran oldukça kıvrımlı bir php parçası var. Bunları gerçekten yeniden yazamıyorum - JS, standart WP ileriye dönük ajax çağrısı / yanıtı ve PHP, 12 farklı ACF alanı (2'si tekrarlayıcı) için koşullu kontroller karışıklığı. Temel bilgiler burada bu kod, düğme onClick
ayrı bir JS dosyasında ajax işlevini çağırır ve ajax işlevinin kendisi için php aslında sorgu için bir dizi argüman ayarlar,$selectedOption
veya $_POST['option']
meta_value olarak. Bu bir beslenir alır new WP_Query( $args );
sonra bir döngüde kullanılan,, çıkışı ile js için geri beslenir alır add_action('wp_ajax_the_ajax_hook', 'fetch_option_list');
ve 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>';
}