Advertisements

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

Advertisements

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: