在RSS提要中显示分类术语

时间:2017-12-19 作者:Derek

The problem:我有一个自定义的帖子类型“announcements”和一个自定义的分类法“announcements\\u taxonomy”。我可以访问rss提要,方法是http://domain.com/announcements/feed - 问题是我看不到RSS提要中的类别/标记。

Detail:我正在使用Simplepie获取提要项,并在WordPress安装之外显示它们。因为我的WP站点上的rss提要没有显示类别,所以我无法使用简单的pies get\\u categories()函数访问它们。

Question:如何从自定义帖子类型和分类中获取类别以显示在rss提要中?

1 个回复
SO网友:Derek

下面是如何在rss提要中显示分类术语。只需将其添加到函数中即可。php文件并更新$tax$post_type 符合您需求的变量:

add_filter(\'the_category_rss\', \'wpq_the_category_rss\');
add_filter(\'rss2_ns\', \'wpq_rss2_ns\');


function wpq_the_category_rss($the_list_original)
{
$tax = \'announcement_tags\';
$post_type = \'announcements\';

if(get_post_type() != $post_type)
return $the_list;

$categories = get_the_terms(get_the_ID(), $tax);

$the_list = \'\';
$cat_names = array();

if(!empty($categories))
{
foreach((array)$categories as $category)
{
$cat_names[] = sanitize_term_field(\'name\', $category->name, $category->term_id, $tax, \'rss\');
$cat_descriptions[] = sanitize_term_field(\'description\', $category->description, $category->term_id, $tax, \'rss\');
}
}

$cat_names = array_unique($cat_names);
$cat_descriptions = array_unique($cat_descriptions);

foreach($cat_names as $cat_name)
{
$the_list .= "\\t\\t<category domain=\\"". $tax ."\\"><![CDATA[" . @html_entity_decode($cat_name, ENT_COMPAT, get_option(\'blog_charset\') ) . "]]></category>\\n";
}

foreach($cat_descriptions as $cat_description)
{
$the_list .= "\\t\\t<wpq:category_description domain=\\"". $tax ."\\"><![CDATA[". @html_entity_decode($cat_description, ENT_COMPAT, get_option(\'blog_charset\')) ."]]></wpq:category_description>\\n";
}

return $the_list_original.$the_list;
}

结束

相关推荐

在WordPress中无法解析中等RSS提要

这是我的代码我的代码我需要在我的wordpress站点中添加“medium”rss提要,但它显示了错误,我在此处添加了图像<?php /* Template Name: CustomPageT1 */?> <?php get_header(); ?> <rss version=\"2.0\"> <h2><?php _e( \'Recent news from Some-Other Blog:\',