为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)) ){
评论(0)