-1

所以我有一个名为“事件”的自定义帖子类型。在每个事件中,我都有一个名为“start_time_date”的自定义字段,它返回一个日期,如“08/01/12”。我将如何对这些帖子进行排序以返回帖子,以便帖子按 start_time_date 升序排序(首先显示更接近当前日期的 start_time_dates)。

这是我当前的代码:

<? 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; ?>
4

2 回答 2

1

使用以 mysql 格式存储日期的元字段,即2012-08-02用于该帖子。也许考虑使用 jquery 日期选择器为您呈现这种格式。

保存后,该帖子现在应该在 wp_postmeta 表中有一行。

$results = new WP_Query( array( 'meta_key' => 'date', 'orderby'=> 'meta_value' ));
于 2012-08-01T15:14:40.493 回答
1

您是否尝试过类似的方法:

<? query_posts("cat=$currentID&showposts=100&orderby=date&order=asc"); ?>

我不确定date数据库列中到底是什么,但就是这样。此外,订单可能需要更改,但我认为这并不重要。

编辑

我做了一些更多的研究,&orderby=date&order=asc日期和订购是正确的。

对此感到抱歉,您是否阅读过在 WordPress 法典中使用自定义选择查询显示帖子?

他们还添加了自定义字段的名称query_posts('&meta_key=popularity&orderby=meta_value');在哪里。meta_key

在这里找到:类参考/WP查询

于 2012-07-31T18:32:24.557 回答