纯代码为WordPress长期未更新的旧文章添加自定义提示内容

纯代码为WordPress长期未更新的旧文章添加自定义提示内容

为WordPress长期未更新的旧文章添加自定义提示内容”,相信建站时间长的朋友可能需要用到,因为由于建站时间较长,部分文件内容已经失效了,为了让博客网友体验更好,我们可以通过此方法为那些长期没有更新的文章添加一段文字提示,如下图:

一、修改function.php

我们只需在主题的function.php文件当中添加下面代码即可,如果是DUX主题请在functions-theme.php文件当中添加。

[wm_notice]如果是Ripro主题 请加在主题目录的function.php文件中。[/wm_notice]

其中“if ($diffTime > 365)”中的365天指的是一年,我们当然可以根据自己的需要设置时间,可以是一个月、也可是半年、两年,按天数算就是了。“$content = $content.‘<div class=”warn”>本文最后更新于’.get_the_modified_time(‘Y年n月j日’). ‘,已超过 1 年没有更新,涉及的内容可能已经失效!</div>’”中的文字内容可以根据自己需要进行修改。

//添加老文章提示信息 www.okmg.cn
function old_content_message($content) {
$modified = get_the_modified_time('U');
$current = current_time('timestamp');
$diffTime = ($current - $modified) / (60 * 60 * 24);
 if ($diffTime > 365) {
$content = $content.'<div class="warn">本文最后更新于'.get_the_modified_time('Y年n月j日').
 ',已超过 1 年没有更新,涉及的内容可能已经失效!</div>';
 }
 return $content;
}
add_filter('the_content', 'old_content_message');

上面这段代码是显示在文章的末尾,如果显示在文章开头,请使用下面这段代码即可。

//添加老文章提示信息 www.okmg.cn
function old_content_message($content) {
$modified = get_the_modified_time('U');
$current = current_time('timestamp');
$diffTime = ($current - $modified) / (60 * 60 * 24);
 if ($diffTime > 365) {
$content = '<div class="warn">本文最后更新于'.get_the_modified_time('Y年n月j日').
 ',已超过 1 年没有更新,涉及的内容可能已经失效!</div>'.$content;
 }
 return $content;
}
add_filter('the_content', 'old_content_message');

二、添加CSS样式

这个步骤就是为了让我们显示的内容更加美观,请把下面代码添加到主题的“main.css”文件当中。

[wm_notice]如果是Ripro主题 请加在主题的diy.css文件中。[/wm_notice]

/* 老文章提示信息 www.okmg.cn*/ .warn { color: #ad9948; background: #fff4b9 url(img/warn.png) -1px -1px no-repeat; border: 1px solid #eac946; overflow: hidden; margin: 10px 0; padding: 15px 15px 15px 35px; font-size: 14px; } 

当然 文案和时间需要自行修改下,最好修改吖!因为这篇文章是芒果源码在互联网上搜集的 ,发现已超过 1 年没有更新,涉及的内容可能已经失效!这段话 特别特别不太优雅,给人一种年久失修没人管的感觉,可以加上 如:如“本文内容或链接失效 请联系客服”  等

三、指的显示内容

完成上面两个步骤,我们就实现了让WordPress指定时间内未更新的旧文章添加自定义提示。但有些朋友会说我们能不能只在指定分类文章显示呢?那是可以实现的,如蜗牛想让“实惠VPS推荐”这个分类提示文字,那么我们首先要找到分类的ID,这个很简单通过WordPress后台进入到分类目录,然后鼠标移动到你要查看分类,在底部就可以查看到ID了,如下图:

找到ID后,我们想要在ID为13的分类文章中显示,就把上面代码中的“ if ($diffTime > 365) {”改成如下代码即可:

if($diffTime > 365 && in_category(13) ){

有些朋友讲要在多个分类显示怎么办?如在ID为13、14、15的分类文章中提示:

if($diffTime > 365 && in_category(array(13,14,15)) ){

如果是排除某些分类不显示,使用下面代码即可:

if($diffTime > 365 && !in_category(array(13,14,15)) ){
分享到 :
相关推荐

给wordpress增加分类背景图功能并调用

wordpress虽然是国外的程序,但是经过多年的发展在国内也比较完善了。wp提供了...

【本站自用】自动为新文章添加已使用过的标签

wordpress每次都要手动给文章添加标签,很麻烦?不知文章是否出现以前用过的标签...

iDowns主题V1.8最新版

主题说明图标参考网址和代码:http://demo.amitjakhu.com/dr...

【RiPro主题 / RiPro美化 / 小八子主题】包更新

【RiPro子主题/RiPro美化/小八子主题】全网最牛逼ripro子主题+优惠码折...

发表评论

登录... 后才能评论