如果发布时间是在一个特定的日期之后


WordPress: if post time is after a specific date

我正试图在这个if语句中添加另一个检查发布时间是否在特定日期之前的语句(假设2014年3月14日…)。

<?php if (in_category('5')) {
    echo 'something'; }
?>

我试过了,但它甚至在更新的帖子上也有回响

<?php
    $date1 = "2014-03-14";
    $date2 = $post->post_date;
    if ( (in_category('5')) && ($date1 < $date2) ) {
        echo 'something';
    }

?>

我会先把你的日期转换成时间戳,以便比较。

global $post;
$compare_date = strtotime( "2014-03-14" );
$post_date    = strtotime( $post->post_date );
if ( in_category(5) && ( $compare_date > $post_date ) ) ...

看起来你的运算符也用错了。您想要检查帖子是否在日期之前发布。发布日期必须比之前的日期要小。此外,由于某种原因,您正在传递类别ID 5作为字符串,我在上面的代码中更正了。

感谢Nathan,他的回答对我很有效。

global $post;
$compare_date = strtotime( "2016-07-14" );
$post_date    = strtotime( $post->post_date );
if ( in_category(2) && ( $compare_date >= $post_date ) ) { 
    echo "On or before July 14."
} else { 
    echo "After July 14."
}