处理RSS提要小部件数据并可选地检索提要项。

原型

wp_widget_rss_process( array $widget_rss, bool $check_feed = true )

描述

Feed小部件不能超过20个项目,否则它将重置为默认值10。

参数

$widget_rss (array) (Required) RSS小部件Feed数据。期待未转义的数据。

$check_feed (bool) (Optional)   是否检查Feed是否有错误。

返回值

(array)  

源文件

路径:wp-includes/widgets.php

<?php
...
function wp_widget_rss_process( $widget_rss, $check_feed = true ) {
	$items = (int) $widget_rss['items'];
	if ( $items < 1 || 20 < $items )
		$items = 10;
	$url           = esc_url_raw( 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;
	if ( $check_feed ) {
		$rss = fetch_feed($url);
		$error = false;
		$link = '';
		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' );
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_widget_rss_process/