蜗牛789很长时间没有发布关于WordPress相关的文章了,今天蜗牛在一个博客当中看到了一个比较实用的功能就是“为WordPress长期未更新的旧文章添加自定义提示内容”,相信建站时间长的朋友可能需要用到,因为由于建站时间较长,部分文件内容已经失效了,为了让博客网友体验更好,我们可以通过此方法为那些长期没有更新的文章添加一段文字提示,如下图:
给长期未更新的文章添加如上图的提示会让访问你博客的网友体验更加友好,其实实现也不难,下面蜗牛就为大家分享一下如果纯代码来实现此功能。
一、修改function.php
我们只需在主题的function.php文件当中添加下面代码即可,如果是DUX主题请在functions-theme.php文件当中添加。其中“if ($diffTime > 365)”中的365天指的是一年,我们当然可以根据自己的需要设置时间,可以是一个月、也可是半年、两年,按天数算就是了。“$content = $content.‘<div class=”warn”>本文最后更新于’.get_the_modified_time(‘Y年n月j日’). ‘,已超过 1 年没有更新,涉及的内容可能已经失效!</div>’”中的文字内容可以根据自己需要进行修改。
//添加老文章提示信息 www.wn789.com 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');
上面这段代码是显示在文章的末尾,如果你也想像蜗牛789一样显示在文章开头,请使用下面这段代码即可。
//添加老文章提示信息 www.wn789.com 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”文件当中。
/* 提醒 www.wn789.com */ .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; }
三、指的显示内容
完成上面两个步骤,我们就实现了让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)) ){
DUX无限制版下载方法
蜗牛789博客DUX无限制版本下载方案,使用微信扫描下面二维码关注蜗牛789微信公众号。注意是关注微信公众号, 微信公众号每天晚上推送当日热门促销活动。然后在微信公众号回复“DUX主题”即可获取下载链接。100%服务器下载版本,绿色无毒。
可以做成插件,在有需要的地方插入,并填写过期时间(开始提醒的时间),这样会更灵活。
比如写成[endtime time=’2018-09-01′]
谢谢大佬提醒,此方法是转载的,蜗牛并不会代码。如果你有兴趣做成插件可以投稿给蜗牛789.