部分文章具有时效性,如活动、软件等,这类文章不仅无法帮助找到这篇文章的人,反而会误导他们,白白浪费时间与精力。当你的博客文章逐渐多起来时,也比较难于管理,所以给你的WordPress博客添加一个文章过时提醒吧~
开工
- 在你的主题包
single.php
文件中的the_content()
函数上方添加以下代码(Sakura主题在tpl/content-single.php
中修改)
<?php
$getunix = get_post_modified_time('U')-2880;//WP莫名总差8个小时
$days_old = (((time() - $getunix)/86400));
$daynum = floor($days_old);
if ($days_old > 365) {
echo '<div class="old-message">提醒:本文最后更新于 <a><strong>' . $daynum . '</strong></a> 天前,其中某些信息可能已经过时,请谨慎使用!</div><div class="expired-message">你似乎正在查看一篇很久远的文章。<br>为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。</div>';
}
//注意$days_old这个参数单位是天,根据自己需要修改
?>
- 下面是我的 CSS
/* 文章过期提醒 */
.old-message {
padding: 5px 10px;
font-size: 15px;
border: 1px solid #e2e2e2;
background-color: #eee;
border-left: 5px solid #00d1bf;
color: #333;
overflow: hidden
}
.expired-message {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
border: 1px dashed #e0e0e0;
padding: 1em 28px;
margin-top: 5px;
border-radius: 0
}
附加说明
如果只想在特定的分类显示提示,比如只在 ID 为 8 的分类的文章显示提示信息,可以将if判断语句修改为:
if($days_old > 365 && in_category(8) ){
是多个分类,比如在 ID 为 7、8、9的分类文章显示提示信息,可以使用数组形式:
if($days_old > 365 && in_category(array(7,8,9)) ){
如果要排除某些分类,比如在 ID 为 7、8、9以外的分类文章显示提示信息,可在 in_category 前添加“!”
if($days_old > 365 && !in_category(array(7,8,9)) ){
Comments | NOTHING