2014-11-04 78 views
1

我有3个元字段,日期(日期格式化字符串),位置和顾问。Wordpress - meta_query和orderby日期元?

我可以拉的职位和排序依据时meta_key设置日期字段:

// get posts 
$posts = get_posts(array(
    'post_type'  => 'event', 
    'posts_per_page' => -1, 
    'meta_key'  => 'start_date', 
    'orderby'  => 'meta_value_num', 
    'order'   => 'DESC' 
)); 

不过,我还没有能够得到这个具有更复杂meta_query工作:

$args = array(
    'post_type' => 'uppy_events', 
    'orderby'  => 'meta_value_num', 
    'order'   => 'ASC', 

    'meta_query' => array(
     array(
      'key' => $key, 
      'value' => array($value), 
      'compare' => '>=' 
      ) 
     ), 
     'numberposts' => -1 
    ); 

基本上我想拉这些日期的meta start_date大于今天的日期和顺序的所有帖子。

作为一个方面说明 - 你可以做一个meta_query搜索说定位键和仍然orderby日期键吗?

任何帮助表示赞赏......这是我第一次尝试通过meta订购,并找到了一些很好的帖子,但仍然无法包裹我的头。干杯

回答

1

K我想到了这一点,因为我的帖子引导我到另一个很好的例子。注释掉的meta_query的日期比今天更长。另一个使用不同的密钥。两者都有效!

$today = date("Ymd"); 

    $args = array(
     'post_type' => 'uppy_events', 
     'post_status' => 'publish', 
     'meta_key' => 'event_date', 
     'orderby'  => 'meta_value_num', 
     'order'   => 'ASC', 
     'meta_query' => array(
      /* array(
       'key' => 'event_date', 
       'value' => $today, 
       'compare' => '>=' 
      ) */ 
      array(
       'key' => 'event_location', 
       'value' => 'vancouver', 
       'compare' => '=' 
      ) 
     ), 
     'numberposts' => -1 
    );