给长期无更新旧文章增加自定义提示内容 – WordPress教程

王小优
王小优
王小优
231
文章
0
评论
2015年8月26日
评论
6,118 3881字阅读12分56秒
标题

在这个信息爆炸的时代,我们缺的不是大量的信息,而是准确有效的信息。可能我们前两年写得文章内容已经跟现在的情况不太符合了,特别是一些教程攻略,可能随着软件、数据的更新不再准确;又或者,文章中外链的资源地址可能失效等意外情况的发生。因此,从访客体验的角度考虑,我们可以对长期未更新的旧文章做一个提示,告诉读者这篇文章已经长期未更新,请注意文章准确性;或者如果文章内容或图片资源失效,请留言反馈,我们会及时处理等。

给长期无更新旧文章增加自定义提示内容 – WordPress教程

代码部署

首先:打开/inc/options/begin-options.php文件,在适当位置添加代码:

  1. $options[] = array(
  2.     'name' => '文章提醒信息',
  3.     'desc' => '显示',
  4.     'id' => 'remind_content',
  5.     'class' => 'be_ico',
  6.     'std' => '0',
  7.     'type' => 'checkbox'
  8. );
  9. $options[] = array(
  10.     'name' => '',
  11.     'desc' => '超过几天提醒',
  12.     'id' => 'remind_over_time',
  13.     'class' => 'be_ico hidden',
  14.     'std' => '365',
  15.     'type' => 'text'
  16. );
  17. $options[] = array(
  18.     'name' => '',
  19.     'desc' => '提醒内容',
  20.     'id' => 'remind_message',
  21.     'class' => 'be_ico hidden',
  22.     'std' => '如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!',
  23.     'type' => 'text'
  24. );
  25. $options[] = array(
  26.     'name' => '',
  27.     'desc' => '提醒位置:文章顶部,默认提醒位置为文章底部',
  28.     'id' => 'remind_position',
  29.     'class' => 'be_ico hidden',
  30.     'std' => '',
  31.     'type' => 'checkbox'
  32. );
  33. $options[] = array(
  34.     'name' => '',
  35.     'desc' => '输入提醒的分类 ID,多个分类用英文半角逗号","隔开',
  36.     'id' => 'remind_id',
  37.     'class' => 'hidden',
  38.     'std' => '',
  39.     'type' => 'text'
  40. );
  41. $options[] = array(
  42.     'name' => '分类 ID 对照',
  43.     'desc' => '<ul>'.$cats_id.'</ul>',
  44.     'id' => 'catid',
  45.     'class' => 'remind-catid hidden',
  46.     'type' => 'info'
  47. );
  48. $options[] = array(
  49.     'id' => 'clear'
  50. );

添加代码后,就可以在“后台→外观→主题选项→首页设置”看到这个功能了。

给长期无更新旧文章增加自定义提示内容 – WordPress教程

然后:打开/inc/options/includes/themes-options.php文件,在适当位置添加代码:

  1. jQuery('#remind_content').click(function() {
  2.     jQuery('#section-remind_over_time, #section-remind_message, #section-remind_position, #section-remind_id, .remind-catid').fadeToggle(400);
  3. });
  4. if (jQuery('#remind_content:checked').val() !== undefined) {
  5.     jQuery('#section-remind_over_time, #section-remind_message, #section-remind_position, #section-remind_id, .remind-catid').show();
  6. }

这段代码主要就是给上面的功能添加展开/闭合功能,当不启用该功能时,该功能下的选项将被隐藏。

接着:打开/inc/inc.php文件,在适当位置添加代码:

此处为隐藏的内容
发表评论并刷新,方可查看

这段代码是该功能的主体代码。

最后:打开style.css文件,在适当位置添加代码:

  1. /* 文章提醒信息 */
  2. .remind_content {
  3.     color#db7c22;
  4.     background#fffcef;
  5.     border1px solid #ffbb76;
  6.     border-radius: 2px;
  7.     overflowhidden;
  8.     margin20px 0;
  9.     padding10px 15px;
  10.     font-size14px;
  11. }

完成上面的操作后,在【主题选项】中找到该功能并启用,然后根据自己的情况设置相关的参数即可。

其他说明

1、参数说明

  • 超过几天提醒:比如超过 1 年的文章显示提醒信息就输入365,要使文章一发布就显示提醒信息就输入0;
  • 提醒内容:可输入任意文字,不仅限于提醒类文字,但只能是纯文本文字;
  • 提醒位置:默认是文章底部,勾选时为文章顶部(文章标题下面);
  • 提醒分类 ID:输入想要显示提醒信息的分类 ID 即可,多个分类用英文逗号","隔开。

2、其他说明

使用相同主题的童鞋,直接按本文提供的操作步骤添加代码即可。使用其他主题的童鞋,可以参考本文的思路自行修改相关代码,也可以参考下面的代码:

  1. function remind_content($content) {
  2.     $modified_time = get_the_modified_time('U');
  3.     $current_time = current_time('timestamp');
  4.     $diff_time = ($current_time - $modified_time) / (60 * 60 * 24);
  5.     if ($diff_time > 365 ) {
  6.             // 提醒位置:文章顶部
  7.             // $content = '<div class="remind_content">提醒内容</div>'. $content;
  8.             // 提醒位置:文章底部
  9.             $content = $content.'<div class="remind_content">提醒内容</div>';
  10.     }
  11.     return $content;
  12. }
  13. add_filter('the_content', 'remind_content');

代码中需要修改的内容:

  • 365:超过的天数;
  • 提醒内容:修改为你想要设定的文字;
  • 提醒位置:默认显示在文章底部,若要让提醒信息显示在文章顶部,就恢复上面那条注释并注释下面那条代码。

将修改后的代码保存到主题目录下的functions.php文件中,然后再复制上面的CSS代码到主题目录下的style.css文件中即可。

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微博
  • 微博扫一扫
  • weinxin
王小优
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: