Php 不要在Wordpress帖子上显示过期日期信息

Php 不要在Wordpress帖子上显示过期日期信息,php,wordpress,date,Php,Wordpress,Date,我正在使用下面的代码来报告我的Wordpress站点中post expires所需的时间,即我在自定义字段中定义的过期值(Expirement) 从这段代码中,正如我所做的那样,我保留了一个将在大约四小时后过期的帖子,它不会以这种方式显示信息:“在0天4小时49分钟后过期。” 我不希望显示“0天”,只显示剩余的小时数。如果帖子第二天过期,那么好,可以正常显示“过期1天4小时49分钟” 此外,还有一些帖子我没有定义到期时间,它们都显示以下信息:“0天2小时0分钟后到期”。如何显示这些帖子的“未确定

我正在使用下面的代码来报告我的Wordpress站点中post expires所需的时间,即我在自定义字段中定义的过期值(Expirement)

从这段代码中,正如我所做的那样,我保留了一个将在大约四小时后过期的帖子,它不会以这种方式显示信息:“在0天4小时49分钟后过期。”

我不希望显示“0天”,只显示剩余的小时数。如果帖子第二天过期,那么好,可以正常显示“过期1天4小时49分钟”

此外,还有一些帖子我没有定义到期时间,它们都显示以下信息:“0天2小时0分钟后到期”。如何显示这些帖子的“未确定到期时间”之类的信息

           <?php 
                $date_now    = date( 'm/d/Y H:i:s', current_time( 'timestamp', 0 ) );
                $date_expire = get_field('expiration');

                $now     = new DateTime($date_now);
                $expires = new DateTime($date_expire);

                $diff = $expires->diff($now)->format("%a days, %h hours and %i minutes");

                if ($now < $expires) {
                    echo "Expires em $diff", PHP_EOL;
                } 
                else if ($now >= $expires) {
                    echo "Expired!", PHP_EOL;
                }
                else {
                    echo "", PHP_EOL;
                }
            ?>

使用以下代码:

$now     = new DateTime( $date_now );
$expires = new DateTime( $date_expire );

$diff = $expires->diff($now);

if( $diff->days ) $diff = $diff->format( "%a days, %h hours and %i minutes" );
else              $diff = $diff->format( "%h hours and %i minutes" );
->days
是唯一的绝对
DateTime
属性

如果希望在差值小于1小时时仅显示分钟,可以通过以下方式更改上述代码:

if( $diff->days  ) $diff = $diff->format( "%a days, %h hours and %i minutes" );
elseif( $diff->h ) $diff = $diff->format( "%h hours and %i minutes" );
else               $diff = $diff->format( "%i minutes" );

太完美了!谢谢你。我没有添加过期日期的帖子怎么办,如下所示:“2小时0分钟后过期”我如何避免这种情况并添加为“未确定过期”。是的,但由于我使用ACF创建了一个自定义字段,该字段出现在所有帖子中,即使是我没有添加过期的帖子。结果可能是零,但它显示的值是“在2小时零分钟内过期”。在检索字段时,
$date\u expire
的内容是什么?不是显示的
$diff
,检索的内容字段:评估
$date\u expire
内容。我用$date\u expire管理,谢谢。最后一个问题:我如何使用大量数据比较,以某种方式你可以压缩服务器?我的网站可能会慢下来?这取决于什么是“很多”,但我不认为你的网站会慢下来