检查帖子是否在24小时内

时间:2014-04-21 15:09:13

标签: php jquery html wordpress

我在wordpress网站工作..我的帖子有一个额外的日期字段,我只是在该日期字段在接下来的24小时内,我试图显示该帖子。我有一个wordpress查询只是抓住最近的帖子,如果发布日期在接下来的24小时内,我只想显示这个div。这是我得到的:

<?php $webnars = get_posts('post_type=webinar&posts_per_page=1'); 
        foreach ( $webnars as $post ) : setup_postdata( $post ); 
            $webDate = strtotime(get_field("next_live"));
            ?>
            <div class="footer_alert">
                <div class="wrapper_inner">
                    <div class="footer_alert_inside">
                        <a href="<?php the_permalink(); ?>">Upcoming Live Webinar - <?php echo date('M j, Y',strtotime(get_field('next_live'))); ?></a><br />
                        <?php 
                        if($webDate > time() + 75000) {
                            echo 'yes';
                         } else {
                            echo 'no';
                         }
                        ?>
                    </div>
                    <div class="footer_exit"><p><i class="fa fa-camera-retro fa-lg"></i> Exit</p></div>
                </div>
            </div>
<?php  endforeach; wp_reset_postdata(); ?>

在帖子的日期字段上运行strtotime()的结果此时返回此结果:1398124800 今天time()现在返回:1398095699

发布时间 - 当前时间为我们提供:29101

现在,显然返回的数字少于75,000,那么为什么它会落入} else {声明并且回应否?他们的格式是我做错了吗?我从这篇文章中获取了大部分代码:PHP check if timestamp is greater than 24 hours from now

1 个答案:

答案 0 :(得分:3)

部分:

if($webDate > time() + 75000)

将您的号码翻译成:

if( 1398124800 > 1398095699 + 75000 ) 

if( 1398124800 > 1398170699 ) 

if( FALSE )

所以你的其他部分会按预期在这里激活。

Ps:你为什么使用75000?实际上24小时为86400秒。