wp_widget_rss_output( string|array|object $rss, array $args = array() )

Displays the RSS entries in a list.

Parameters

$rssstring|array|objectrequired
RSS url.
$argsarrayoptional
Widget arguments.

Default:array()

Source

function wp_widget_rss_output( $rss, $args = array() ) {	if ( is_string( $rss ) ) {	$rss = fetch_feed( $rss );	} elseif ( is_array( $rss ) && isset( $rss['url'] ) ) {	$args = $rss;	$rss = fetch_feed( $rss['url'] );	} elseif ( ! is_object( $rss ) ) {	return;	}	if ( is_wp_error( $rss ) ) {	if ( is_admin() || current_user_can( 'manage_options' ) ) {	echo '<p><strong>' . __( 'RSS Error:' ) . '</strong> ' . esc_html( $rss->get_error_message() ) . '</p>';	}	return;	}	$default_args = array(	'show_author' => 0,	'show_date' => 0,	'show_summary' => 0,	'items' => 0,	);	$args = wp_parse_args( $args, $default_args );	$items = (int) $args['items'];	if ( $items < 1 || 20 < $items ) {	$items = 10;	}	$show_summary = (int) $args['show_summary'];	$show_author = (int) $args['show_author'];	$show_date = (int) $args['show_date'];	if ( ! $rss->get_item_quantity() ) {	echo '<ul><li>' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '</li></ul>';	$rss->__destruct();	unset( $rss );	return;	}	echo '<ul>';	foreach ( $rss->get_items( 0, $items ) as $item ) {	$link = $item->get_link();	while ( ! empty( $link ) && stristr( $link, 'http' ) !== $link ) {	$link = substr( $link, 1 );	}	$link = esc_url( strip_tags( $link ) );	$title = esc_html( trim( strip_tags( $item->get_title() ) ) );	if ( empty( $title ) ) {	$title = __( 'Untitled' );	}	$desc = html_entity_decode( $item->get_description(), ENT_QUOTES, get_option( 'blog_charset' ) );	$desc = esc_attr( wp_trim_words( $desc, 55, ' [&hellip;]' ) );	$summary = '';	if ( $show_summary ) {	$summary = $desc;	// Change existing [...] to [&hellip;].	if ( str_ends_with( $summary, '[...]' ) ) {	$summary = substr( $summary, 0, -5 ) . '[&hellip;]';	}	$summary = '<div class="rssSummary">' . esc_html( $summary ) . '</div>';	}	$date = '';	if ( $show_date ) {	$date = $item->get_date( 'U' );	if ( $date ) {	$date = ' <span class="rss-date">' . date_i18n( get_option( 'date_format' ), $date ) . '</span>';	}	}	$author = '';	if ( $show_author ) {	$author = $item->get_author();	if ( is_object( $author ) ) {	$author = $author->get_name();	$author = ' <cite>' . esc_html( strip_tags( $author ) ) . '</cite>';	}	}	if ( '' === $link ) {	echo "<li>$title{$date}{$summary}{$author}</li>";	} elseif ( $show_summary ) {	echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$summary}{$author}</li>";	} else {	echo "<li><a class='rsswidget' href='$link'>$title</a>{$date}{$author}</li>";	}	}	echo '</ul>';	$rss->__destruct();	unset( $rss ); } 

Changelog

VersionDescription
2.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.