WP_QUERY是否按日期字符串的自定义字段排序?

时间:2012-12-28 作者:brushleaf

我的每个帖子都有一个自定义字段,它是一个日期字符串(不是帖子的日期)。我希望按此自定义字段日期排序,而不是按发布日期排序的主题当前查询。如何将此查询(主题的查询)更改为使用自定义字段(日期的字符串表示)?

$timeline_query = new WP_Query(array( 
    \'post_type\' => \'post\', 
    \'orderby\' => \'date\', 
    \'order\' => \'DESC\', 
    \'posts_per_page\' => -1 
));

2 个回复
SO网友:RRikesh

这个WP_Query 法典第页有一节Order & Orderby Parameters.

如果要按自定义字段排序查询,应添加\'orderby\' => \'meta_value\' AND 还必须指定自定义字段(称为your_date_field 在上述示例中)使用meta_key 输入查询。

$timeline_query = new WP_Query(array( 
    \'post_type\' => \'post\', 
    \'orderby\' => \'meta_value\',
    \'meta_key\' => \'your_date_field\' 
    \'posts_per_page\' => -1 
));

SO网友:Chris Chalmers

对于那些使用HTML5 type=“date”字段的人来说,需要注意的是,格式记录在yyyy-mm-dd中。我使用的是“orderby=”“>“meta\\u value-num”,因为我认为日期是数字,所以不知道为什么订单被关闭。然后我看到了这个线程,并使用了“meta\\u value”,它成功了!

注:我想将此作为对RRikesh答案的评论,但无法发表评论,因为我的帐户还没有足够高的声誉,所以我不得不添加一个新答案。

结束

相关推荐

GET_QUERY_var(‘pages’)总是返回空

在遇到可能的解决方案后,将此贴在墙上。拥有一个包含许多自定义帖子类型和相关自定义分类的网站。为了让事情变得简单,我使用了统一的taxonomy.php 样板在该模板中有三个循环。我希望它们都在第一页上运行,然后,只运行第三个循环。我知道如何使用is_paged() 但还有一个更大的问题我无法解决。在我的$args 我包括$paged 从…起 $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; 但是