2016-04-17 38 views
1

嗨,我post_type =店的陣列我有2元的鍵和值的數組Wp_query 2元鍵和meta值

自定義字段

Name   Values 

cu_status pending,processing,completed 

cu_date  12-Jan-2016 , 13-Jan-2016, ...... any date in the same format date("d-M-Y") 

現在我需要通過與所有帖子環cu_status =掛起,處理和cu_date在2016年1月12日至2016年4月13日之間 查詢將會是什麼?

Iam非常困惑。爲了讓所有使用後的狀態之前,處理我知道查詢

$args = array(

     'post_type'   => 'shop', 

     'post_status'  => 'publish', 
     'meta_query' => array(
     array(
      'key' => 'cu_status', 
      'value' => array('pending','processing'), 
      'compare' => 'IN', 
      ) 
      ), 
      'posts_per_page' => -1 
       ); 

高興幫助來完成查詢。

回答

2

您需要使用關係運算符,例如

 

     $args = array(
     'post_type'   => 'shop', 
     'post_status'  => 'publish', 
     'meta_query' => array(
      'relation' => 'AND', 
      array(
       'key' => 'cu_status', 
       'value' => array('pending','processing'), 
       'compare' => 'IN', 
       ) , 
      array(
       'key' => 'cu_date', 
       'value' => array($start, $end), 
       'compare' => 'BETWEEN', 
       'type' => 'DATE' 
       ) 
      ), 
     'posts_per_page' => -1 
     ); 

另外使用compare => BETWEEN獲得2個日期的差異。 您可能需要調整一下代碼,因爲我沒有測試過它。

+0

謝謝。但對我來說這是行不通的。 'meta_query'=>數組( \t \t '關係'=> 'AND', 陣列( '鍵'=> 'cu_status', '值'=>陣列( '等待處理', '處理'), '比較'=> 'IN', ) \t \t陣列( \t \t \t \t '關係'=> 'AND', \t \t陣列( \t \t '鍵'=> 'cu_date', 'value'=> '04 -02-2016', 'compare'=>' > = ' \t \t \t \t) \t \t陣列( '鍵'=> 'cu_date', '值'=> '04 -03-2016' , '比較'=>'<= ', )) \t \t )這是行得通的。 \t 但它也是不正確的。 。 – Manik

+0

我以(31-02-2016)格式存儲cu_date – Manik

+0

您的代碼正在工作。我將日期格式更改爲2016-01-13 – Manik