WP_QUERY贴子最接近当天日期

时间:2013-05-17 作者:Paul Winter

我已经写了一个wp查询,我想以一种有点复杂的方式进行排序。有些帖子有一个元值“the\\u date”,它是帖子的结束日期。我想在日期和时间顺序的职位,如果有一个结束日期,这将是参考无论如何是没有结束日期发布日期将是参考。有了这些信息,我需要按最接近当前日期和时间的时间来订购帖子。例如:

职位:

ID          Name         Publish_date        Meta_end_date
1           Post 1       15/05/2013 10:00   
2           Post 2       15/05/2013 09:00    17/05/2013 14:20
3           Post 3       16/05/2013 13:00    20/05/2013 08:00
4           Post 4       17/05/2013 13:50
当前时间:2013年5月17日14:00

结果顺序:

Post 4 (17/05/2013 13:50), 
Post 2 (17/05/2013 14:20), 
Post 1 (15/05/2013 10:00),
Post 3 (20/05/2013 08:00)
以下是我当前的查询:

$args = array(
    \'post_type\' => \'post\',
    \'numberposts\' => \'30\',
    \'meta_query\' => array(
        \'relation\' => \'OR\',
        array(
            \'key\' => \'the_date\',
            \'value\' => $today,
            \'compare\' => \'>\',
            \'type\'=> \'DATETIME\'
         ),
        array(
            \'key\' => \'the_date\',
            \'value\' => \'\',
            \'compare\' => \'=\',
        )
    ),
    \'orderby\' => \'post_date\',
    \'order\' => \'ASC\',
    \'orderby\' => \'meta_value_num\',
    \'order\' => \'DESC\'
);
欢迎任何帮助:)

1 个回复
SO网友:Achintha Samindika

试试这个,因为您可以传递多个按空格分隔的orderby值。

$args = array(
    \'post_type\' => \'post\',
    \'numberposts\' => \'30\',
    \'orderby\' => \'post_date the_date\',
    \'order\' => \'DESC\'
);

http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post