默认情况下,WordPress RSS Feed显示您最近发布的内容,并且没有选项可以为您的RSS Feed用户自定义该内容。
在本教程中,我们将向您展示如何轻松添加内容并完全操作您的WordPress网站RSS Feed。
将自定义内容添加到WordPress网站RSS Feed
将自定义内容添加到WordPress网站RSS Feed的最简单方法是使用WordPress插件的多合一SEO。它是市场上最好的WordPress SEO插件之一,可让您轻松优化网站SEO。
您需要做的第一件事是安装并激活适用于WordPress的多合一SEO插件。激活后,系统将提示您设置插件。只需按照屏幕上的说明进行操作或查看我们的指南,了解如何为WordPress设置All in One SEO插件。
之后,您需要访问All in One SEO » General Settings页面并切换到RSS Content选项卡。
从这里您可以添加要在每个RSS Feed项目前后显示的内容。您可以使用智能标签向自定义内容添加链接和其他元数据。
您还可以使用基本HTML以任何您喜欢的方式格式化您的自定义内容。
一旦您对更改感到满意,请不要忘记单击“保存更改”按钮。
All in One SEO现在会将您的自定义内容添加到每个RSS Feed项目。
使用代码向WordPress网站RSS Feed添加内容
上面提到的第一种方法是将自定义内容添加到WordPress的RSS Feed的最简单方法。但是,它会将内容添加到WordPress Feed中的所有项目。
如果您想将内容添加到特定文章、选定类别中的文章或在RSS源中显示自定义元数据,该怎么办?
接下来的几个步骤将帮助您使用自定义代码片段灵活地向RSS Feed添加内容。
您可以使用自定义代码片段插件、通过functions.php文件或特定于站点的WordPress插件将这些代码片段添加到您的网站。
让我们尝试一些在WordPress网站RSS Feed中手动添加自定义内容的示例。
1. 将自定义字段中的数据添加到WordPress网站RSS Feed
自定义字段允许您向WordPress文章和页面添加额外的元数据。但是,默认情况下,此元数据不包含在RSS Feed中。
这是一个片段,可用于在WordPress网站RSS Feed中检索和显示自定义字段数据。
global $wp_query;
$postid = $wp_query->post->ID;
$custom_metadata = get_post_meta($postid, ‘my_custom_field’, true);
if(is_feed()) {
if($custom_metadata !== ”) {
// Display custom field data below content
$content = $content.”<br /><br /><div>”.$custom_metadata.”</div>
“;
}
else {
$content = $content;
}
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘wpb_rsstutorial_customfield’);
add_filter(‘the_content’, ‘wpb_rsstutorial_customfield’);
function wpb_rsstutorial_customfield($content) { global $wp_query; $postid = $wp_query->post->ID; $custom_metadata = get_post_meta($postid, 'my_custom_field', true); if(is_feed()) { if($custom_metadata !== '') { // Display custom field data below content $content = $content."<br /><br /><div>".$custom_metadata."</div> "; } else { $content = $content; } } return $content; } add_filter('the_excerpt_rss', 'wpb_rsstutorial_customfield'); add_filter('the_content', 'wpb_rsstutorial_customfield');
此代码首先检查自定义字段是否包含数据并显示RSS Feed。之后,它只需附加内容全局变量并在内容下方添加自定义字段数据。
2. 为RSS中的文章标题添加附加文本
您想在RSS Feed中的某些文章的标题上显示附加文本吗?也许您想区分常规文章和来宾或赞助文章(软文)。
以下是如何添加自定义内容以在RSS源中发布标题。
示例 1:将自定义字段中的数据添加到RSS源文章标题
首先,您需要将要显示的内容保存为自定义字段。例如,您可以添加guest_post 或sponsed_post自定义字段。
之后,您可以将以下代码添加到您的网站。
global $wp_query;
$postid = $wp_query->post->ID;
$gpost = get_post_meta($postid, ‘guest_post’, true);
$spost = get_post_meta($postid, ‘sponsored_post’, true);
if($gpost !== ”) {
$content = ‘Guest Post: ‘.$content;
}
elseif ($spost !== ”){
$content = ‘Sponsored Post: ‘.$content;
}
else {
$content = $content;
}
return $content;
}
add_filter(‘the_title_rss’, ‘wpb_rsstutorial_addtitle’);
function wpb_rsstutorial_addtitle($content) { global $wp_query; $postid = $wp_query->post->ID; $gpost = get_post_meta($postid, 'guest_post', true); $spost = get_post_meta($postid, 'sponsored_post', true); if($gpost !== '') { $content = 'Guest Post: '.$content; } elseif ($spost !== ''){ $content = 'Sponsored Post: '.$content; } else { $content = $content; } return $content; } add_filter('the_title_rss', 'wpb_rsstutorial_addtitle');
此代码只是查找自定义字段。如果它们不为空,则它将自定义字段的值附加到RSS Feed中的文章标题。
示例 2:将类别名称添加到RSS源中的文章标题
对于此示例,我们将在文章标题中显示类别名称。
只需将以下代码添加到您的网站:
$postcat = “”;
foreach((get_the_category()) as $cat) {
$postcat .= ‘ (‘.$cat->cat_name . ‘)’;
}
$content = $content.$postcat;
return $content;
}
add_filter(‘the_title_rss’, ‘wpb_rsstutorial_titlecat’);
function wpb_rsstutorial_titlecat($content) { $postcat = ""; foreach((get_the_category()) as $cat) { $postcat .= ' ('.$cat->cat_name . ')'; } $content = $content.$postcat; return $content; } add_filter('the_title_rss', 'wpb_rsstutorial_titlecat');
现在,它将在RSS Feed中显示类别和文章标题。例如,“湾区热门新餐厅(新闻)(旅游)”,其中新闻和旅游是类别。
3. 将自定义内容添加到具有特定标签或类别的文章
现在让我们假设您想添加自定义内容,但仅适用于在特定标签或类别下提交的文章。
以下代码将帮助您轻松地向在特定类别和标签下提交的文章添加内容。
if( is_feed() ){
// Check for posts filed under these categories
if ( has_term( array( ‘travel’, ‘news’ ), ‘category’ ) ) {
$content = $content.”<br /><br />For special offers please visit our website”;
}
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘wpb_rsstutorial_taxonomies’);
add_filter(‘the_content’, ‘wpb_rsstutorial_taxonomies’);
function wpb_rsstutorial_taxonomies($content) { if( is_feed() ){ // Check for posts filed under these categories if ( has_term( array( 'travel', 'news' ), 'category' ) ) { $content = $content."<br /><br />For special offers please visit our website"; } } return $content; } add_filter('the_excerpt_rss', 'wpb_rsstutorial_taxonomies'); add_filter('the_content', 'wpb_rsstutorial_taxonomies');
您可以修改此代码以定位标签以及任何自定义分类法。以下是定位特定标签的示例:
if( is_feed() ){
// Check for posts filed under these categories
if ( has_term( array( ‘holidays’, ‘blackfriday’ ), ‘post_tag’ ) ) {
$content = $content.”<br /><br />For special offers please visit our website”;
}
}
return $content;
}
add_filter(‘the_excerpt_rss’, ‘wpb_rsstutorial_taxonomies’);
add_filter(‘the_content’, ‘wpb_rsstutorial_taxonomies’);
function wpb_rsstutorial_taxonomies($content) {
if( is_feed() ){
// Check for posts filed under these categories
if ( has_term( array( 'holidays', 'blackfriday' ), 'post_tag' ) ) {
$content = $content."<br /><br />For special offers please visit our website";
}
}
return $content;
}
add_filter('the_excerpt_rss', 'wpb_rsstutorial_taxonomies');
add_filter('the_content', 'wpb_rsstutorial_taxonomies');
4. 将特色图片添加到RSS Feed
默认情况下,您的WordPress网站RSS Feed不会显示文章的特色图片。您可以通过将特色图片手动添加到您的RSS Feed来更改它。