0

我正在使用高级自定义字段来创建一个名为“事件”的帖子类型,并使用 jquery 日期选择器来选择事件的日期。我目前有按事件日期排序的帖子,从最早到最晚的日期开始,但是我希望过去的日期不显示在查询中。

这是我的代码:

            <?

            if ( get_query_var('paged') ) {
              $paged = get_query_var('paged');
              } else if ( get_query_var('page') ) {
                      $paged = get_query_var('page');
              } else {
                      $paged = 1;
              }
              query_posts( array( 'post_type' => 'events', 'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'posts_per_page' => 4, 'order' => 'ASC', 'paged' => $paged ) );
              while (have_posts()) : the_post();
            ?>

所以基本上,如果活动日期超过当前日期,我不想再显示帖子了。

有小费吗?

4

1 回答 1

0

我会进行自定义查询:

global $wpdb;
$items_per_page = 10;
$offset = 0;
        $query = "
            SELECT
                posts.*,
                DATE(postmeta.meta_value)
            FROM " . $wpdb->prefix . "posts AS posts
            RIGHT JOIN " . $wpdb->prefix . "postmeta AS postmeta ON (postmeta.post_id = posts.ID)
            WHERE
                posts.post_type = 'events' AND
                postmeta.meta_key = 'event_date' AND
                postmeta.meta_value > '" . date('Y-m-d H:i:00') . "'
            ORDER BY postmeta.meta_value ASC
            LIMIT " . $offset . ", " . $items_per_page . "
        ";

$events = $wpdb->get_results($query);

    foreach ($events as $event): setup_postdata($event);
              //event loop

    endforeach; wp_reset_postdata();

date('Y-m-d H:i:00')您当前的日期格式在哪里

于 2013-07-20T11:28:09.783 回答