为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)) ){
声明: 1、本站所有文章仅供参考,如有侵权 请联系我们删除 meng#yimiaonet.com #换成@ 2、文章大部分源自网络或ai生成,文章不作为任何依据,仅供参考。 3、本站的所有源码都是在网络上转载或由用户投稿,仅供参考学习使用,请您务必在下载后24小时内删除。 4、本站下载的所有源码等内容不得用于任何违反相关法律法规的用途,一经发现 我们立即向有关部门报备。 5、### 本站除商业栏目外 其他资源均来自于网络或用户投稿,如有侵权 请及时联系我们删除,感谢您的支持与理解,让我们一起支持创作者权益。 6、如果您需要商用,可以联系客服定制开发或购买商业源码栏目内的内容,当然也可以联系部分源码的原作者;我们最终一切版权。 7、您注册本站会员后,如果需要注销账号等适宜,请联系客服。