部分文章具有时效性,如活动、软件等,这类文章不仅无法帮助找到这篇文章的人,反而会误导他们,白白浪费时间与精力。当你的博客文章逐渐多起来时,也比较难于管理,所以给你的WordPress博客添加一个文章过时提醒吧~

开工

  1. 在你的主题包 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这个参数单位是天,根据自己需要修改
?>
  1. 下面是我的 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)) ){

预览

注:参考自wordpress文章页顶部添加过时提醒 文章顶部显示自定义信息


Never give up your dreams.