给WordPress文章添加一个过时提醒#1

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

开工

  1. 在主题包 single.php 文件中的 the_content() 函数上方添加以下代码(Sakura主题在 tpl/content-single.php 中修改)。

    <?php
        $getunix = get_post_modified_time('U')-2880; // 时区差8个小时
        $days_old = (((time() - $getunix)/86400));
        $daynum = floor($days_old);
        if ($days_old > 365) { // 注意 $days_old 这个参数单位是天,根据自己需要修改
            echo '<div class="old-message">提醒:本文最后更新于 <a><strong>' . $daynum . '</strong></a> 天前,其中某些信息可能已经过时,请谨慎使用!</div><div class="expired-message">你似乎正在查看一篇很久远的文章。<br>为了你这样的访客,我特地保留了我的历史博文。不要笑话过去的我,用温柔的目光看下去吧。</div>';
        }
    ?>
  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)) ){

预览

评论区
头像
    头像
    江城路
      

    俺请问下CSS样式加在哪? 是"外观"→"自定义"→"额外CSS"吗?

      头像
      蘑菇
        
      @江城路

      都可以,加在主题全局CSS里也行