2015-03-30 60 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,因此您需要添加日期数字以使它们具有相同的比例。

相关问题