2015-03-30 100 views
0

我需要一個查詢來獲取日期自定義字段在URL var發送的月份之前的所有帖子。自定義字段保存YYYYMMDD(20150330)等數據。我想在今年/月前(201503)獲得所有帖子。在wordpress中查詢日期自定義字段

我試試這個,但它不起作用,因爲date_added的內容不是YYYYMM。它也包含一天。

$year = $_GET['year']; 
$month = $_GET['mes']; 

$yearmonth = $month." ".$year; 

$args = array (
     'post_type' => 'clients', 
     'posts_per_page' => -1, 
     'order' => 'ASC', 
     'orderby' => 'post_title', 
     'meta_query' => array(
      array(
       'key'  => 'client_type', 
       'compare' => '=', 
       'value'  => 'Si', 
      ), 
      array(
       'key'  => 'date_added', 
       'compare' => '<=', 
       'value'  => date("Ym", strtotime($yearmonth)), 
      ) 
     )); 

    $posts = get_posts($args); 

任何人都可以幫助我嗎?

感謝

+1

如果日期作爲一個整數存儲在數據庫中,那麼在3月1日之前查看所有日期小於date(「Ym00」,strtotime($ yearmonth))'(零日)的日期,或者如果你想要行軍月使用「Ym99」'來表示行軍日期大於最後一天,但仍然小於下個月。作爲整數的「20150301」的日期翻譯爲「20,150,301」(二千萬,一百五十,三百一百)。沒有日期會低於'201,503',因此您需要添加日期數字以使其達到相同的比例。 – 2015-03-30 19:31:28

+0

@JonathanKuhn這似乎是應該成爲潛在答案的一部分。 – Shawn 2015-03-30 19:36:41

+0

@shawn是的,它應該。我開始更小,並不斷加入它。他們往往像這樣炸燬。 – 2015-03-30 19:37:23

回答

1

如果日期存儲在數據庫中的一個整數,然後看其中日起不少於date("Ym00", strtotime($yearmonth))的一切(零一日)三月-1之前,或者如果你行軍使用"Ym99"月份想表示行軍日期大於最後一天,但仍小於下一個月。作爲整數的日期20150301轉換爲20,150,301(二千萬,一百五十,三百一百)。沒有日期將低於201,503,因此您需要添加日期數字以使它們具有相同的比例。

相關問題