wpseek.com
WordPress开发者和主题制作者的搜索引擎



wp_widget_rss_process › WordPress Function

Since2.5.0
已弃用n/a
wp_widget_rss_process ( $widget_rss, $check_feed = true )
参数: (2)
  • (array) $widget_rss RSS widget feed data. Expects unescaped data.
    Required: Yes
  • (bool) $check_feed Optional. Whether to check feed for errors. Default true.
    Required: No
    默认: true
返回:
  • (array)
定义在:
文档:

Process RSS feed widget data and optionally retrieve feed items.

The feed widget can not have more than 20 items or it will reset back to the default, which is 10. The resulting array has the feed title, feed url, feed link (from channel), feed items, error (if any), and whether to show summary, author, and date. All respectively in the order of the array elements.


源码

function wp_widget_rss_process( $widget_rss, $check_feed = true ) {
	$items = (int) $widget_rss['items'];
	if ( $items < 1 || 20 < $items ) {
		$items = 10;
	}
	$url          = sanitize_url( strip_tags( $widget_rss['url'] ) );
	$title        = isset( $widget_rss['title'] ) ? trim( strip_tags( $widget_rss['title'] ) ) : '';
	$show_summary = isset( $widget_rss['show_summary'] ) ? (int) $widget_rss['show_summary'] : 0;
	$show_author  = isset( $widget_rss['show_author'] ) ? (int) $widget_rss['show_author'] : 0;
	$show_date    = isset( $widget_rss['show_date'] ) ? (int) $widget_rss['show_date'] : 0;
	$error        = false;
	$link         = '';

	if ( $check_feed ) {
		$rss = fetch_feed( $url );

		if ( is_wp_error( $rss ) ) {
			$error = $rss->get_error_message();
		} else {
			$link = esc_url( strip_tags( $rss->get_permalink() ) );
			while ( stristr( $link, 'http' ) !== $link ) {
				$link = substr( $link, 1 );
			}

			$rss->__destruct();
			unset( $rss );
		}
	}

	return compact( 'title', 'url', 'link', 'items', 'error', 'show_summary', 'show_author', 'show_date' );
}