仅在日期字段位于今天的日期之后才显示自定义帖子

时间:2018-01-30 05:05:14

标签: php wordpress custom-post-type

我正在尝试仅在“日期”字段位于今天的日期之后才显示自定义帖子类型的帖子。自定义帖子类型为“事件”,“日期”字段的格式为yyyy-mm-dd。 但是,当我使用以下查询时,即使其中两个事件发生在今天的日期之前,我的所有事件都会被返回。

           <?php

                $today = date('Y-m-d');
                $args = array (
                    'post_type' => 'Event',
                    'meta_query' => array(
                         array(
                            'key'       => 'Date',
                            'compare'   => '>=',
                            'value'     => $today
                        )
                    ),
                );

                 $query = new WP_Query($args);  
                ?>

如果我使用date_query而不是像下面这样,则不会返回或显示任何内容。

     <?php $today = date('Y-m-d');

            $args = array (
                'post_type' => 'Event',
                'date_query' => array(
                     array(
                        'key'       => 'Date',
                        'after'     => $today
                    ),
                    'inclusive' => true,
                ),
            );


             $query = new WP_Query($args);  ?>

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

您可以试试这个,如果它不起作用,那么您需要匹配日期格式

<?php

                $today = date('Y-m-d');
                $args = array (
                    'post_type' => 'Event',
                    'meta_query' => array(
                         array(
                            'key'       => 'Date',
                            'compare'   => '>=',
                            'value'     => $today,
                            'type' => 'DATE',
                        ),
                    ),
                );

                 $query = new WP_Query($args);  
                ?>

答案 1 :(得分:0)

你应该使用current_time()函数来获取今天的日期,它会根据wordpress时间格式给你时间。