如何只获取当前小时的帖子?

时间:2019-05-08 作者:Mahbub Ansary

我怎样才能拿到这个小时才投递的邮件?

示例:现在是上午9:00,我想显示上午9:00到上午10:00之间发布的所有帖子,它将以相同的方式检查所有时间。

2 个回复
SO网友:Krzysiek Dróżdż

我想Date Parameters 就是你要找的东西。

因此,如果您想从给定的时间获取帖子,可以构造如下查询:

$hour_posts = new WP_Query( array(
\'date_query\' => array(
    array(
        \'before\' => \'2019-05-08 10:00\',
    ),
    array(
        \'after\'  => \'2019-05-08 09:00\',
    ),
),
\'posts_per_page\' => -1,
) );
如果这一天无关紧要,并且您希望所有帖子都在给定的时间内发布,但每天都要发布,那么这将很方便:

$args = array(
    \'date_query\' => array(
        array(
            \'hour\'      => 9,
            \'compare\'   => \'>=\',
        ),
        array(
            \'hour\'      => 10,
            \'compare\'   => \'<\'
    ),
    \'posts_per_page\' => -1,
);
$query = new WP_Query( $args );

SO网友:Mahbub Ansary

Solved!!!

//set up the round figure of this hour
$timeWithoutA  = date(\'h:\')."00";
$curr_time  = date(\'h\').":00".date(\'a\');

//Add 1 hour to current hour
$timestamp = strtotime($timeWithoutA) + 60*60;
$addedOneHour = date(\'h:ia\', $timestamp);


//Today\'s date
$this_date = getdate();
$year = $this_date[\'year\'];
$mon = $this_date[\'mon\'];
$day = $this_date[\'mday\'];
$today = $year."-".$mon."-".$day;

//Add them together
$after = $today." ".$curr_time;
$before  = $today." ".$addedOneHour;

$custArgs = array(
    \'post_type\' => \'payment\',
    \'date_query\' => array(
        array(
            \'before\' => $before,
        ),
        array(
            \'after\'  => $after,
        )
    )
);
$query = new WP_Query ( $custArgs );


while($query->have_posts()) : $query->the_post(); 
    echo "hello"."<br />";
endwhile;

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post