order by meta_key

时间:2013-07-02 作者:emcee22

我有一个小问题:我不能按我的意愿安排活动。我想按升序排列即将到来的活动。。。

我正在使用以下内容:

new WP_Query(
         array(
     \'author\' => $current_user->ID, 
     \'post_type\' =>\'tribe_events\', 
     \'orderby\' => \'meta_value\', 
     \'meta_key\' => \'_EventStartDate\', 
      array(
           \'key\' => \'_EventStartDate\', 
           \'value\' => date(\'Y-m-d\'), 
           \'compare\' => \'>=\'
       )))
但什么都没发生。。。我的意思是他们没有得到任何排序。。我想这是因为EventStartDate包含一个小时,如果我重复它“2013-07-29 20:00:00”,它看起来就像这样。有什么建议吗?

代码更新:

global $current_user;
    get_currentuserinfo();
    $author_posts = new WP_Query(
 array(
    \'author\' => $current_user->ID, 
    \'post_type\' =>\'tribe_events\', 
    \'orderby\' => \'meta_value\',
    \'order\' => \'DESC\',
    \'meta_key\' => \'_EventStartDate\', 
     array(
          \'key\' => \'_EventStartDate\', 
          \'value\' => date(\'Y-m-d\'), 
          \'compare\' => \'>=\'
      )));
    while($author_posts->have_posts()) : $author_posts->the_post();
在这里我只得到了内容。。。

2 个回复
SO网友:Krzysiek Dróżdż

这个元的格式还可以-应该可以。但是,我不确定您在这个查询args中执行的操作。元查询使用错误。

如果您这样做,它应该可以正常工作:

$my_query = new WP_Query(
    array(
        \'author\' => $current_user->ID, 
        \'post_type\' => \'tribe_events\', 
        \'orderby\' => \'meta_value\',
        \'order\' => \'ASC\',
        \'meta_key\' => \'_EventStartDate\', 
        \'meta_query\' => array(
            array(
                \'key\' => \'_EventStartDate\', 
                \'value\' => date(\'Y-m-d\') . \' 00:00:00\', 
                \'compare\' => \'>=\'
            )
        )
    ));

SO网友:Por

new WP_Query(
     array(
 \'author\' => $current_user->ID, 
 \'post_type\' =>\'tribe_events\', 
 \'orderby\' => \'meta_value\',
 \'order\' => \'DESC\',
 \'meta_key\' => \'_EventStartDate\', 
  array(
       \'key\' => \'_EventStartDate\', 
       \'value\' => date(\'Y-m-d\'), 
       \'compare\' => \'>=\'
   )))
是的,就像Krzysiek Drozdz说的那样,它应该会起作用,不要忘记添加这个*顺序=>DESC或ASC。WordPress查询帖子可以制作任何订单甚至标题。建议你的答案!

结束

相关推荐