我有一个名为country的自定义元文件,我想从元键中获取值并将它们添加到下拉列表中,但我遇到的问题是我不需要显示所有的元数据值(因为其中一些重复)只是唯一的值。
对于示例我正在展示:意大利德国意大利意大利美国和我只想展示:意大利德国美国
$query = new WP_Query(
array(
'meta_key' => 'country',
'orderby' => 'meta_value',
'order'=> 'ASC',
'posts_per_page' => -1,
)
);
if( $query->have_posts() ){
while( $query->have_posts() ){
$query->the_post();
$metas = get_post_custom($post->ID);
?>
<option value="<?php echo $metas['country'][0]; ?>">
<?php echo $metas['country'][0]; ?>
</option>
<?php
}//while
wp_reset_query();
wp_reset_postdata();
}//if
答案 0 :(得分:3)
我建议使用自定义查询从数据库中获取meta_key“countries”的所有不同值。
<?php
global $wpdb;
$countries = $wpdb->get_results(
"SELECT DISTINCT(meta_value)
FROM $wpdb->postmeta
WHERE meta_key = 'country'
ORDER BY meta_value"
);
if($countries){
echo '<select name="countries">';
foreach ( $countries as $country ) {
echo '<option value="' .$country->meta_value .'">';
echo $country->meta_value;
echo '</option>';
}
echo '</select>';
}
?>