如何添加自定义内容到WordPress Feed订阅

不知道还在用 Rss Feed 订阅的人多不多,倡萌就是重度订阅患者,目前订阅的优质源有100多个,主要是关于WordPress和前端。用的在线订阅工具是 https://www.inoreader.com ,需要的朋友可以去看下,还是不错的!

言归正传,WordPress 可以在 设置 - 阅读 界面进行相关的Feed设置:

默认情况下,只会输出内容相关(标题、作者、文章正文或摘要等)的部分,不会有自定义的其他内容,具体你可以看下网址: https://www.wpdaxue.com/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输出的方法,就介绍到这里,如果你对钩子不熟悉,推荐拓展阅读:

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

暂无评论

发表评论