get_the_category_rss

Definition:
function get_the_category_rss($type = null) {}

Retrieve all of the post categories, formatted for use in feeds.
All of the categories for the current post in the feed loop, will be retrieved and have feed markup added, so that they can easily be added to the RSS2, Atom, or RSS1 and RSS0.91 RDF feeds.

Parameters

  • string $type: Optional, default is the type returned by get_default_feed().

Return values

returns:All of the post categories for displaying in the feed.

Defined filters

  • get_bloginfo_rss
    apply_filters( 'get_bloginfo_rss', get_bloginfo( 'url' )
  • the_category_rss
    apply_filters('the_category_rss', $the_list, $type)

Source code

function get_the_category_rss($type = null) {

	if ( empty($type) )

		$type = get_default_feed();

	$categories = get_the_category();

	$tags = get_the_tags();

	$the_list = '';

	$cat_names = array();



	$filter = 'rss';

	if ( 'atom' == $type )

		$filter = 'raw';



	if ( !empty($categories) ) foreach ( (array) $categories as $category ) {

		$cat_names[] = sanitize_term_field('name', $category->name, $category->term_id, 'category', $filter);

	}



	if ( !empty($tags) ) foreach ( (array) $tags as $tag ) {

		$cat_names[] = sanitize_term_field('name', $tag->name, $tag->term_id, 'post_tag', $filter);

	}



	$cat_names = array_unique($cat_names);



	foreach ( $cat_names as $cat_name ) {

		if ( 'rdf' == $type )

			$the_list .= "\t\t<dc:subject><![CDATA[$cat_name]]></dc:subject>\n";

		elseif ( 'atom' == $type )

			$the_list .= sprintf( '<category scheme="%1$s" term="%2$s" />', esc_attr( apply_filters( 'get_bloginfo_rss', get_bloginfo( 'url' ) ) ), esc_attr( $cat_name ) );

		else

			$the_list .= "\t\t<category><![CDATA[" . @html_entity_decode( $cat_name, ENT_COMPAT, get_option('blog_charset') ) . "]]></category>\n";

	}



	return apply_filters('the_category_rss', $the_list, $type);

}

1821

No comments yet... Be the first to leave a reply!

Leave a comment