比较WP_Query中的时间戳

时间:2011-11-17 14:59:21

标签: wordpress timestamp

我无法弄清楚如何比较WP_query中的时间戳。在网站上,类/事件作为帖子输入,并在其开始日期添加了元数据。在calendar_functions.php中,$begtime被定义为类/事件开始日期的时间戳(不是创建帖子的日期),$ today被定义为今天的时间戳。我已经测试了这两个并且确实返回了正确的值。

以下代码工作正常,它显示一个随机的类/事件...除了过去的类/事件出现。我希望能够只显示今天发生的事情。它不是进入和删除已经发生的类/事件的选项。 不确定如何处理>=部分。

<?php include('calendar_functions.php'); ?>
<?php $my_query = new WP_Query('"$begtime >= $today"&posts_per_page=1&cat=5,43&orderby=rand');
if (have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID;
?>

我还需要能够比较两组日期,因为有些类有两个会话,例如。 $begtime >= $today -or- $begtime2 >= $today。 ($begtime2也已定义)。

1 个答案:

答案 0 :(得分:0)

你需要这样的东西。

function filter_where( $where = '' ) {
    // posts  30 to 60 days old
    $where .= " AND post_date >= '" . date('Y-m-d', strtotime('-60 days')) . "'" . " AND post_date <= '" . date('Y-m-d', strtotime('-30 days')) . "'";
    return $where;
}

add_filter( 'posts_where', 'filter_where' );
$query = new WP_Query( $query_string );
remove_filter( 'posts_where', 'filter_where' );

http://codex.wordpress.org/Class_Reference/WP_Query#Time_Parameters