2013-03-12 67 views
1

我有一個貼有三個元字段的帖子。Wordpress查詢 - 按元字段值排序

add_post_meta($my_post, 'times', $times); 

,我想他們中的一個的元字段值來查詢該類別和排序的職位。 我現在使用的參數是:

 $args=array(
     'post_type' => 'post', 
     'category_name' => 'players', 
     'order' => 'DESC', 
     'orderby' => 'meta_value_num', 
     'meta_key' => 'times', 
     'meta_query' => array(
     array(
      'key' => 'times', 
      'value' => 0, 
      'compare' => '>=', 
     ), 
     'posts_per_page'=> '8' 
     ) 
     ); 
    

其中times是metafield的名稱。上面的代碼不返回任何內容。

回答

1

您有'posts_per_page'=> '8'在您的meta_query參數內。

改變你的代碼如下:

$args=array(
    'post_type' => 'post', 
    'category_name' => 'players', 
    'order' => 'DESC', 
    'orderby' => 'meta_value_num', 
    'meta_key' => 'times', 
    'meta_query' => array(
     array(
      'key' => 'times', 
      'value' => 0, 
      'compare' => '>=', 
     ) 
    ), 
    'posts_per_page'=> '8' 
); 
+0

仍然沒有工作...我認爲這個問題是在元查詢 – 2013-03-12 13:17:29

+0

你被'get_post_meta結果($ ID,「時代」 )'? – 2013-03-12 13:27:03

+0

將代碼從'orderby'移除到'posts_per_page'並添加'get_post_meta'=>數組($ id,'times')代替返回結果。 – 2013-03-12 13:44:40