如何在 WordPress 中创建自定义 RSS 源

WordPress 带有内置的默认RSS 源。您可以通过将自定义内容添加到您的 RSS 提要,甚至将帖子缩略图添加到您的 RSS 提要来调整默认提要。默认的 RSS 和 Atom 提要对大多数用户来说已经足够了,但您可能希望创建自定义 RSS 提要来提供特定类型的内容。在本文中,我们将向您展示如何在 WordPress 中创建自定义 RSS 提要。

请注意,本教程不适用于初级 WordPress 用户。如果您是初学者,但仍想尝试,请在本地安装上进行。

与往常一样,在对实时网站进行任何重大更改之前,您必须创建WordPress 网站的完整备份。

话虽如此,让我们开始使用 WordPress 中的第一个自定义 RSS 提要。

假设您要创建一个仅显示以下信息的新 RSS 提要:

标题

关联

发布日期

作者

摘抄

您需要做的第一件事是在主题functions.php文件或特定于站点的插件中创建新的 RSS 提要:

add_action(‘init’, ‘customRSS’);function customRSS(){        add_feed(‘feedname’, ‘customRSSFunc’);}

上面的代码触发了customRSS添加提要的函数。add_feed 函数有两个参数,feedname 和一个回调函数。提要名称将构成您的新提要网址yourdomain.com/feed/feedname,回调函数将被调用以实际创建提要。记下提要名称,因为稍后您将需要它。

初始化提要后,您需要使用主题functions.php文件或站点特定插件中的以下代码创建回调函数以生成所需的提要:

function customRSSFunc(){        get_template_part(‘rss’, ‘feedname’);}

上面的代码使用get_template_part函数链接到一个单独的模板文件,但是您也可以将 RSS 代码直接放入函数中。通过使用get_template_part,我们可以将功能与布局分开。该get_template_part函数有两个参数,slug 和 name,它将查找具有以下格式的名称的模板文件,从顶部的文件开始(如果它没有找到第一个,它将移动到第二个,等等):

wp-content/themes/child/rss-feedname.php

wp-content/themes/parent/rss-feedname.php

wp-content/themes/child/rss.php

wp-content/themes/parent/rss.php

就本教程而言,最好将 slug 设置为您正在创建的提要类型(在本例中:rss),并将名称设置为之前配置的提要名称。

一旦您告诉 WordPress 查找提要模板,您就需要创建它。下面的代码将使用我们之前列出的信息生成提要的布局。将此文件保存在您的主题文件夹中,作为函数中配置的 slug-name.php 模板文件get_template_part。

‘;?>>        <?php bloginfo_rss('name'); ?> – Feed                                ]]>                        ]]>                                                                        

此模板代码将按照上述布局生成一个 RSS 提要。该postCount变量允许您控制要在您的提要中显示的帖子数量。可以根据需要修改模板以显示您需要的任何信息(例如发布图像、评论等)。

该the_excerpt_rss功能将显示每篇文章的摘录,对于没有摘录的文章,它将显示文章内容的前 120 个单词。

最后,要显示您的提要,您首先需要刷新您的 WordPress 重写规则。最简单的方法是登录 WordPress 管理员,然后单击Settings -> Permalinks。在这里,只需单击Save Changes,这将刷新重写规则。

您现在可以在 处访问您的新提要yourdomain.com/feed/feedname,其中提要名称是您add_feed之前在函数中提供的提要名称。

W3C 提供提要验证服务,允许您验证生成的提要。

故障排除

尝试查看我的提要时收到 404 错误!

检查您是否在 URL 中使用了正确的提要名称。它必须是您在add_feed函数中提供的那个

如果您有正确的提要名称,您的重写规则可能没有正确刷新。重新保存您的永久链接以确保安全。

如果您重新保存了永久链接,则可以通过主题的 functions.php 文件强制重写刷新。将以下代码添加到我们之前创建的 customRSS 函数中。确保在add_feed函数之后添加代码。

global $wp_rewrite;$wp_rewrite->flush_rules();

添加后,重新加载您的 WordPress 网站。注意:这应该在使用后立即移除。一次就足以刷新规则。

我的提要没有验证!

使用 W3C 提要验证器,应在提要未验证的地方提供具体细节。编辑提要模板文件以解决这些问题

我收到 验证错误!

这在您的 WordPress 安装中未配置 RSS 语言的情况下很常见。为此,您可以将以下代码添加到主题functions.php文件中,以更新语言选项。

function rssLanguage(){        update_option(‘rss_language’, ‘en’);}add_action(‘admin_init’, ‘rssLanguage’);

编辑 update_option 函数的第二个参数以将语言更改为您需要的语言。查看RSS 语言代码的完整列表。

将上述代码添加到您的函数文件后,加载 WordPress 管理屏幕以使其生效。在此之后,应从您的 WordPress 函数文件中删除代码。加载一次就足以配置 rss_language 设置。

这也可以直接在数据库中完成,方法是在 wp_options 表中查找 rss_language 选项。

我们希望本文能帮助您在 WordPress 中创建自己的自定义 RSS 源。通过在下面留下评论,让我们知道您将如何以及为什么在您的 WordPress 网站上使用自定义 RSS 提要。