目前我有以下字符串。
$timeago = human_time_diff( get_the_time(\'U\'), current_time(\'timestamp\') );
print $timeago;
这将返回如下所示的结果。
1分钟、1小时、1周、1个月和1年。
我想知道如何使用if
声明,以检测该帖子是否在过去5小时内发布,以及是否有回音“NEW“如果没有,请不要重复任何内容。
EDIT: 我尝试了以下方法,但没有成功。。。我对如何让它检查小时部分以及我猜的数字部分感到困惑。
$timeago = human_time_diff( get_the_time(\'U\'), current_time(\'timestamp\') );
print $timeago;
if( $timeago >= 0 && $timeago <= 5 )
{
print \'NEW\';
}
最合适的回答,由SO网友:Pieter Goosen 整理而成
human_time_difference()
此处不起作用,因为它以人类可读的形式返回字符串。然而,我们可以使用其中使用的一些逻辑来构造可行的函数
您可以尝试以下操作:(Untested)
function get_custom__time_diff()
{
global $post;
// Get the current time
$current_time = time();
// Get the post date
$post_date = get_the_time( \'U\', $post );
// Get the amount of seconds in 5 hours
$test_time = 5*HOUR_IN_SECONDS;
$diff = $current_time - $post_date;
if ( $diff < $test_time )
return \'New\';
return \'\';
}
然后可以在循环内按如下方式调用它
echo get_custom__time_diff();