SimplePie::get_items()publicWP 2

Get all items from the feed

This is better suited for for() loops, whereas {@see get_items()} is better suited for foreach() loops.

Method of the class: SimplePie{}

No Hooks.

Return

SimplePie_Item[]|null. List of {@see SimplePie_Item} objects

Usage

$SimplePie = new SimplePie();
$SimplePie->get_items( $start, $end );
$start(int)
Index to start at
$end(int)
Number of items to return. 0 for all items after $start

Notes

  • See: get_item_quantity

Changelog

Since 2 Introduced.
Since Beta 2

SimplePie::get_items() code WP 6.5.2

public function get_items($start = 0, $end = 0)
{
	if (!isset($this->data['items']))
	{
		if (!empty($this->multifeed_objects))
		{
			$this->data['items'] = SimplePie::merge_items($this->multifeed_objects, $start, $end, $this->item_limit);
			if (empty($this->data['items']))
			{
				return array();
			}
			return $this->data['items'];
		}
		$this->data['items'] = array();
		if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'entry'))
		{
			$keys = array_keys($items);
			foreach ($keys as $key)
			{
				$this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
			}
		}
		if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'entry'))
		{
			$keys = array_keys($items);
			foreach ($keys as $key)
			{
				$this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
			}
		}
		if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'item'))
		{
			$keys = array_keys($items);
			foreach ($keys as $key)
			{
				$this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
			}
		}
		if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'item'))
		{
			$keys = array_keys($items);
			foreach ($keys as $key)
			{
				$this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
			}
		}
		if ($items = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'item'))
		{
			$keys = array_keys($items);
			foreach ($keys as $key)
			{
				$this->data['items'][] = $this->registry->create('Item', array($this, $items[$key]));
			}
		}
	}

	if (empty($this->data['items']))
	{
		return array();
	}

	if ($this->order_by_date)
	{
		if (!isset($this->data['ordered_items']))
		{
			$this->data['ordered_items'] = $this->data['items'];
			usort($this->data['ordered_items'], array(get_class($this), 'sort_items'));
	 	}
		$items = $this->data['ordered_items'];
	}
	else
	{
		$items = $this->data['items'];
	}
	// Slice the data as desired
	if ($end === 0)
	{
		return array_slice($items, $start);
	}

	return array_slice($items, $start, $end);
}