不知道还在用 Rss Feed 订阅的人多不多,WordPress 可以在 设置 – 阅读 界面进行相关的Feed设置:
默认情况下,只会输出内容相关(标题、作者、文章正文或摘要等)的部分,不会有自定义的其他内容。如果我们想添加自定义内容到 Feed输出,该如何实现?
方法1 使用插件
在大多数情况下,使用插件是将自定义内容添加到WordPress RSS /Feed 最简单方法。只需安装、激活、添加你的内容就可以了。这里推荐 Simple Custom Content 插件,其实这个插件不仅仅可以向 Feed 中添加自定义内容,还可以通过简码添加内容到任何地方。
方法2 使用自定义代码
插件的方法虽然简单,但是对于某些喜欢折腾的人或开发者来说,通过代码方式添加可能更灵活。
常用到的代码如下:
- // 添加自定义内容到所有 Feed
- function wpkj_add_content_to_all_feeds($content) {
- $before = ‘<p>显示在文章内容前的自定义内容</p>’;
- $after = ‘<p>显示在文章内容后的自定义内容</p>’;
- if (is_feed()) {
- return $before . $content . $after;
- } else {
- return $content;
- }
- }
- add_filter(‘the_content_feed’, ‘wpkj_add_content_to_all_feeds’);
这段代码段将指定的自定义内容添加到WordPress feed中的每个文章中。你可以通过添加到主题的 functions.php
中,或者制作一个简单的插件来使用。
上面的 wpkj_add_content_to_all_feeds
函数代码定义了 $before
和 $after
两个变量,分别对应文章正文的前后的自定义内容,我们可以去修改为任何你想添加的html格式的内容。
如果仅有 wpkj_add_content_to_all_feeds
函数自身的代码,是不会执行的,我们必须通过WordPress的钩子挂载,才可以生效。在这里我们用的是 the_content_feed
这个过滤钩子,可以对Feed输出的内容进行修改。
注:代码中使用了
is_feed()
作为判断,只在Feed输出中才添加自定义内容,否则直接显示正文。在这里其实是不必要的,因为我们是通过the_content_feed
这个钩子挂载函数的,这个钩子本身就是只对Feed输出进行操作的。 只是想告诉大家可以这样去做技术上的判断。
在文本开头的插图里面,我们看到可以设置Feed显示全文或摘要。上面提到的 the_content_feed
钩子就是针对全文的,如果你选择的是摘要,就可以使用 the_excerpt_rss
钩子。
- //全文的时候用
- add_filter(‘the_content_feed’, ‘wpkj_add_content_to_all_feeds’);
- //摘要的时候用
- add_filter(‘the_excerpt_rss’, ‘wpkj_add_content_to_all_feeds’);
关于添加自定义内容到Feed输出的方法,就介绍到这里。