相信现在还有人和小编一样在用 Rss Feed 订阅,小编目前订阅的优质源有100多个,主要是关于WordPress和前端。我们都知道WordPress是支持Feed设置的,在 设置 – 阅读 界面进行相关的Feed设置即可。默认情况下,只会输出内容相关(标题、作者、文章正文或摘要等)的部分,不会有自定义的其他内容。如果我们想添加自定义内容到 Feed输出,该如何实现?
一、使用插件
在大多数情况下,使用插件是将自定义内容添加到WordPress RSS /Feed 最简单方法。只需安装、激活、添加你的内容就可以了。这里小编推荐 Simple Custom Content 插件,其实这个插件不仅仅可以向 Feed 中添加自定义内容,还可以通过简码添加内容到任何地方。
二、 使用自定义代码
插件的方法虽然简单,但是对于某些喜欢折腾的人或开发者来说,通过代码方式添加可能更灵活。
常用到的代码如下:
// 添加自定义内容到所有 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’);
分类:新闻资讯