谷姐:我们都是谷歌迷
We are all Google fans

求改PHP,如何判断是否为当天发表的文章。-EnwenY

Rate this post

    date_default_timezone_set(‘PRC’);
    $t1=$post->post_date;
    $t2=date("Y-m-d H:i:s");
    $diff=(strtotime($t2)-strtotime($t1))/3600;
    if($diff<24){echo ‘<time style="color: #ff921d;">’.get_the_time(‘Y-m-d’).'</time>’;} //数字24表示文章发布24小时内的添加标记
    else{echo ‘<time>’.get_the_time(‘Y-m-d’).'</time>’;} //如果超过设定的时间则显示为黑色

复制代码

上面这一段,从网上抄的,是目前我放在WordPress搭建的博客里,本意是希望用来判断文章是否是当天发表的,如果是,时间就显示红色,如果过了0点,就显示黑色。奈何不知道怎么改,目前是只能显示24小时内发表是红色,超过了才变为黑色。

热议
2楼 【ontochom】 这样? (就是重新改了下日期格式和if的匹配, 能不能跑起来不知道… 偶是代码垃圾)

    date_default_timezone_set(‘PRC’);
    $t1=date(‘Y-m-d’,$post->post_date); // Post date (Reformatted for Y-m-d)
    $t2=date("Y-m-d"); // Today’s date
    if($t1 < $t2){
    echo ‘<time>’.get_the_time(‘Y-m-d’).'</time>’; // Red
    }
    else {
    echo ‘<time style="color: #ff921d;">’.get_the_time(‘Y-m-d’).'</time>’; // Black
    }

复制代码
3楼 【EnwenY】
啊 试了一下 没跑起来
4楼 【hising】 2楼思路可行,只取 当天日期,判断 day就行了,不要带时分秒。
5楼 【ontochom】
和4楼说的一样, 大概意思就是 你设定好时区, 然后把 第一个变量改成月日年格式, 直接和今天比较。
第一个变量比第二个变量小: 不是今天, 设置你要的颜色
第一个变量不比第二个变量小: 要么是今天, 要么是你服务器穿越了 设置另外颜色。

我感觉这个如果是在functions.php的话, 应该可以直接用WordPress自己的function get_the_date() + ISO 8601. 这样就不用改来改去了。
6楼 【EnwenY】
PHP能直接判断日期大小吗?不需要转换成其他的来判断吗?
刚刚试了二楼的,跑起来全部变黑了,
7楼 【EnwenY】
应该不会把
我查询过服务器时间,和电脑时间一致的

8楼 【heibudong】 当前日期$nowDay = date(‘Y-m-d’, time());
文章日期$artDay = date(‘Y-m-d’, 文章采集时间戳);

if( $nowDay=$artDay ) {
红色
}else{
黑色
}
9楼 【hising】
可以判断,date(d)取出来的值 直接和 字符都能比较。
10楼 【EnwenY】

    date_default_timezone_set(‘PRC’); //设定为北京时间
    $t1=date(‘Y-m-d’,$post->post_date); // 获取文章发布日期,并转化为Y-m-d格式
    $t2=date("Y-m-d"); // 获取今天日期,时间格式为Y-m-d
    if($t1 < $t2){ //如果T1(文章发布日期)小于 T2(今天日期)
    echo ‘<time style="color: #333333;">’.get_the_time(‘Y-m-d’).'</time>’; // 输出为黑色
    }
    else {//如果不是
    echo ‘<time style="color: #CE0000;">’.get_the_time(‘Y-m-d’).'</time>’; // 输出为红色
    }

复制代码

我按照这个思路去改的,按道理应该是正确才对,而且专门针对时间做了样式,不会受到其他样式干扰,但实际出来的是时间全为黑色,包括今日2021-05-19的。
12楼 【EnwenY】
感谢感谢
用$t1=get_the_time(‘Y-m-d’, $post->ID);就对了

未经谷姐允许不得转载:谷姐靓号网 » 求改PHP,如何判断是否为当天发表的文章。-EnwenY
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录   注册

买Google Voice认准【谷姐靓号网】

Google Voice靓号列表Google Voice自助购买
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活