按自定义域(wp-Query和循环)排序和显示帖子)

时间:2012-10-03 作者:vulgarbulgar

我只想在主页上显示即将到来的活动帖子。我使用“custom field suite”插件创建了一个自定义字段,名为“ENDS”,表示事件结束的日期。

正如你所知,我只想在家里举行即将到来的活动,最接近现在的日期排在第一位。过期后,我希望将其归档到“归档”中,该页面在另一个页面上可见(该页面还应以最近过期的事件开始排序归档的事件帖子)。

模板使用无限滚动加载帖子,这是我的索引文件,带有默认循环:http://pastebin.com/x3NzZBZX

我需要集成这样的东西,但没有成功:

<?php
$query = new WP_Query(
    \'post_type\' => \'post\',
    \'orderby\' => \'meta_value\',
    \'meta_key\' => \'ENDS\',
    \'order\' => \'ASC\',
    \'posts_per_page\' => -1,
    \'meta_query\' => array(
        \'key\' => \'ENDS\',
        \'value\' => date(\'Y-m-d H:i:s\'), // now
        \'compare\' => \'>=\'
    ),
);
?>

<?php while ( $query->have_posts() ) : $query->the_post(); ?>

<a href="<?php the_permalink(); ?>">
    <?php the_title(); ?>
</a>

<?php endwhile; ?>

1 个回复
SO网友:Biranit Goren

我认为meta\\u查询部分应该是一个嵌套数组,因此您的查询应该是这样的:

$query = new WP_Query(
    \'post_type\' => \'post\',
    \'orderby\' => \'meta_value\',
    \'meta_key\' => \'ENDS\',
    \'order\' => \'ASC\',
    \'posts_per_page\' => -1,
    \'meta_query\' => array(
        array (
            \'key\' => \'ENDS\',
            \'value\' => date(\'Y-m-d H:i:s\'), // now
            \'compare\' => \'>=\',
            \'type\' => \'DATETIME\',
        ),
    ),
);
注意,我还将“type”=>“DATETIME”添加到meta\\u查询内部数组中。

希望这有帮助。

结束

相关推荐

How to return loop contents

有时,我需要return 循环的输出(通常带有WP_Query 如本例所示)用于短代码或启用筛选器the_content.下面使用对象缓冲的代码可以工作,但我在其他地方读到过缓冲可能效率低下。我也看到过HEREDOC,但我不知道这在这里是如何工作的,除非我先将每个模板标记保存为变量(这似乎再次低效)。所以我的问题是,返回循环输出的最佳方法是什么?<?php if ( $cms_pl_pages->have_posts() ) : ob_start(); // start object