Discuz! X3.* 人性化时间加入“一年前”“两年前”,隐藏真实发帖时间
分类 网站技术/村民张先生 发布于 2015-04-18 01:43
——————————
最新版:Discuz! X3.* 隐藏帖子年份,仅VIP会员和持有“显年特权勋章”的用户可查看
——————————
应用场景:如果你的论坛中具有较多无时效性且优质的帖子,可以考虑隐藏真实的发帖时间。可以想象,一个标明2008年发布的帖子,可能很难引起人的关注。建议采用“最近”“不久前”“较早前”等模糊描述来替代。
修改方法:
1、首先后台的时间设置中必须启用了“人性化时间”;
2、打开 source/function/function_core.php 文件,
查找:
} elseif(($days = intval(($todaytimestamp - $timestamp) / 86400)) >= 0 && $days < 7) {
在其前方新增判断:
} elseif(($days = intval(($todaytimestamp - $timestamp) / 86400)) >= 0 && !in_array($_G['groupid'], array(1,2,33))) { if($days < 30) { $return = '最近'; } elseif($days < 90) { $return = '不久前'; } elseif($days < 180) { $return = '稍早前'; } else { $return = '较早前'; }
其中第一行末尾的几组数字,为所要排除掉的用户组编号(这些用户组浏览时仍然显示原有的人性化时间)。
可以根据自己的需要调整日期和对应的描述。
我们也可以考虑保留日月时间,仅去除年份。修改方法:
将上面代码中的 $return 替换为 $htime ,并在该段代码下添加:
$return = $_GET[mod] == 'forumdisplay' ? gmdate("m-d H:i", $timestamp) : gmdate("m-d H:i", $timestamp).' '.$htime;
附:默认情况下,发布于当日的帖子,在版块页(帖子列表页)中,“发布时间”会高亮,怎样延长可以高亮的时间范围?参照 https://www.zhang.cq.cn/wenzhang-1391.html 方法进行修改。
2015/05/02 补充:
注意,隐藏发帖时间后,可能对搜索引擎收录页面存在负面影响。
我们可以采取以下方法防止此影响:
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截