如何按自定义日期排序WordPress查询?
问题描述:
所以我有一个名为“Events”的自定义帖子类型。在每个事件中,我都有一个名为“start_time_date”的自定义字段,它返回“08/01/12”之类的日期。我将如何排序这些帖子来返回帖子,以便帖子按照start_time_date按升序排序(start_time_dates接近当前日期首先显示)。如何按自定义日期排序WordPress查询?
这里是我当前的代码:
<? query_posts("cat=$currentID&showposts=100"); ?>
<? if (have_posts()) : ?>
<? while (have_posts()) : the_post(); if (time() < strtotime(get('end_time_date'))) :?>
<? $originalDate = get('start_time_date'); $newDate = date("M j, Y", strtotime($originalDate)); ?>
<div class="post">Some Post Data</div>
<? endif; endwhile; ?>
<? endif; ?>
答
你尝试类似:
<? query_posts("cat=$currentID&showposts=100&orderby=date&order=asc"); ?>
我不知道到底是什么date
是数据库列,但它是类似的东西。此外,该命令可能需要但改变,但我不认为这很重要。
编辑
我做了一些更多的研究和&orderby=date&order=asc
是日期和顺序是正确的。
对不起,您是否在WordPress代码中通过Displaying Posts Using a Custom Select Query阅读?
他们还添加了query_posts('&meta_key=popularity&orderby=meta_value');
其中meta_key
是您的自定义字段的名称。
答
使用存储在该职位的MySQL的格式,即2012-08-02
日期一元场。也许可以考虑使用jQuery日期选择器为您呈现此格式。
保存时的这个帖子现在应该在wp_postmeta表中有一行。
$results = new WP_Query(array('meta_key' => 'date', 'orderby'=> 'meta_value'));
是的。这只是由默认的WordPress发布日期排序。我想按自定义日期字段进行排序 – raeq 2012-07-31 19:31:46
我更新了我的答案,以包含指向文章的链接。 – Biotox 2012-07-31 19:48:09
谢谢。这工作 – raeq 2012-08-01 15:47:54