专栏首页DeveWorkWordPress RSS Feed 优化/设置技巧六则

WordPress RSS Feed 优化/设置技巧六则

本站DeveWork.com 在之前已经分享过不少有关 RSS Feed 优化、设置技巧,今天在这里分享多篇来自网络上的文章,攫取相关重要内容,加上之前的汇总为本文。需要说明的是,本文相关代码 Jeff 没有亲自测试是否有效,有需要的请自行测试使用。

在RSS Feed 中输出版权信息

这个功能主要是为了防止文章被恶意采集而产生的;当然,如果人家是直接复制粘贴来采集你的文章的话,这个功能就没意义了。详细请参考《WordPress在RSS Feed 中输出版权信息》一文。

在RSS Feed 中输出自定义特色图像(缩略图)

一般来说,如果主题支持特色图像(缩略图)这个功能就有存在的意义了,详细请参考《WordPress在RSS Feed 中输出自定义特色图像(缩略图)》一文。该方法支持通过自定义字符获取的特色图像。

控制文章RSS的输出时间

你有没有试过发表一篇文章,但立即发现有错误需要修改,可是在这个时候你的文章的RSS已经输出,也说不定已经有读者阅读了。 对于这个问题,我们可以通过控制文章RSS的输出时间(延时)来解决,在主题的function.php文件加入以下代码:

function publish_later_on_feed($where) { global $wpdb; if ( is_feed() ) { // timestamp in WP-format $now = gmdate('Y-m-d H:i:s'); // value for wait; + device $wait = '5'; // integer // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');

在RSS Feed中插入广告(或其他东西)

这个的话比较绝,不建议使用。在主题的主题的function.php文件加入以下类似的代码就可以实现:

function insertAds($content) { $content = $content.'

DeveWork,about WordPress.

'; return $content; } add_filter('the_excerpt_rss', 'insertAds'); add_filter('the_content_rss', 'insertAds');

禁用WordPress 中的RSS Feeds

如果你的文章不想被人订阅,可以禁止WordPress 的RSS feed 输出,在主题的function.php文件加入以下代码: function wp_disable_feed() { wp_die( __('抱歉,本站不支持订阅,请返回<a href="'. get_bloginfo('url') .'">首页</a>') ); } add_action('do_feed', 'wp_disable_feed', 1); add_action('do_feed_rdf', 'wp_disable_feed', 1); add_action('do_feed_rss', 'wp_disable_feed', 1); add_action('do_feed_rss2', 'wp_disable_feed', 1); add_action('do_feed_atom', 'wp_disable_feed', 1);function wp_disable_feed() { wp_die( __('抱歉,本站不支持订阅,请返回<a href="'. get_bloginfo('url') .'">首页</a>') ); } add_action('do_feed', 'wp_disable_feed', 1); add_action('do_feed_rdf', 'wp_disable_feed', 1); add_action('do_feed_rss', 'wp_disable_feed', 1); add_action('do_feed_rss2', 'wp_disable_feed', 1); add_action('do_feed_atom', 'wp_disable_feed', 1);

在RSS Feed 中排除某个分类

如果你不想在RSS Feed 中输出某个分类下的文章,可以使用以下代码:

function exclude_cat_feed($query) { if(is_feed()) { $query-&gt;set('cat','-1'); //排除ID为 1 的分类 return $query; } } add_filter('pre_get_posts', 'exclude_cat_feed');

如果要排除多个分类,将第 3 行修改为下面的代码:

$query-&gt;set('cat','-1, -2, -3'); //排除ID为 1、2、3 的分类

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一些移动 Web 前端开发上的要点记录

    从五月份实习到现在快三个月了,这三个月的实习时段,按照leader 的要求,每天要写日总结发RTX 内部群,每周都要写周邮件群发整个部门——就这么坚持了三个月。...

    Jeff
  • 妙趣横生的HTML5 Page Visibility API

    最近浏览36kr 的网页的时候偶然发现一个有趣的情况:当浏览器Tab 处于非当前页的时候,36kr 的标题栏会自动换成可爱的大白字符形象。Jeff 在第一次看到...

    Jeff
  • WordPress登陆文件wp-login.php添加相关参数,安全有保障

    在几个月前的WordPress 界被攻击闹得沸沸扬扬的时候,Jeff在本站DeveWork.com 分享了《修改WordPress登陆文件名wp-login.p...

    Jeff
  • feed流拉取,读扩散,究竟是啥?

    答:微博,微信朋友圈,Pinterest是典型的feed流业务,系统中的每一条消息就是一个feed。

    架构师之路
  • 朋友圈微博feed流,推拉实践

    上一篇《feed流拉取,读扩散,究竟是啥?》关于feed流的拉取还是推送,只写了一半“拉取”,今天把另一半“推送”(写扩散)的坑填完。

    架构师之路
  • 机器视觉(系列二)----图像采集之照明综述

    上集我们一起做了个简短入门: 机器视觉算法(系列一)--机器视觉简短入门 在机器视觉中,照明的目的是使被测物的重要特征显现,而抑制不需要的特征。为了达到此目的,...

    智能算法
  • IaaS, PaaS和SaaS公司都做些什么

    云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。

    臭豆腐
  • 原创 | 看过《中国机长》,我开始关心航空预测性维修这件事了

    看过《中国机长》的朋友,一定对当时机长精湛的驾驶技术和临危不乱的处置记忆深刻。同时,也对风挡玻璃的突发失效有些担忧。那么在不远的将来,有没有办法能够预知并解决这...

    数据派THU
  • dubbo-go介绍

    dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初...

    heidsoft
  • dubbo-go 的开发、设计与功能介绍

    dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初...

    Java帮帮

扫码关注云+社区

领取腾讯云代金券