2014-01-20 80 views
0

元值我提起所謂的國家的風俗元,我想從Meta鍵獲取值,並將其添加到下拉列表中,但我遇到的問題是,我不「噸需要顯示所有元值(因爲它們中的一些重複)僅獨特的。WordPress的查詢 - 排除那些重複

對於例如我顯示:意大利德國意大利美國,我想只顯示:意大利德國美國

$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 

回答

3

我建議使用自定義查詢來獲取所有的不同值數據庫中的meta_key'國家'。

<?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>'; 

} 

?> 
+0

的感謝!有用 :) – Lox