Выводим любой RSS фид у себя на блоге

Наткнулся на интересную заметку, повествующую о том, как можно вывести у себя на блоге RSS фид другого сайта. Причем делается это средствами самого WordPress.

В WordPress есть функция fetch_feed($url), которой нужно передать ссылку на фид и она его получит и создаст из полученных данных объект с данными фида — это заголовок, ссылка, текст, автор, категория и т.д. Какие данных будут доступны зависит от того, какие данные имеются в фиде.

Где и когда может пригодится такая функция? Например, если у нас есть блог и мы хотим в нем, в сайдбаре вывести колонку "Последние статьи сайта". Особо активно эту функцию можно использовать, если вы вдруг захотите создать каталог блогов, фиды которых нужно будет выводить. Также можно использовать эту функцию в каких-либо граберских целях, но это уже кто на что горазд 🙂

Фид другого блога в сайдбаре

Приведу пример использования fetch_feed(), для того чтобы вывести в сайдбаре колонку с последними записями другого блога (допустим wp-info.ru). Пример "примеряю" на дефолтную тему twentyeleven:

<aside id="meta" class="widget">
	<h3 class="widget-title">Фид wp-info.ru:</h3>
	<?php
	if( function_exists('fetch_feed') ){

		$feed = fetch_feed('http://wp-info.ru/feed'); // УРЛ фида

		$limit = $feed->get_item_quantity(7); // задаем количество статей
		$items = $feed->get_items(0, $limit); // создаем массив элементов фида

	if( $limit == 0 )
		echo 'Фид пустой или недоступен.';
	else
		foreach( $items as $item ){ ?>
			<a href="<?php echo $item->get_permalink(); ?>" title="<?php echo $item->get_date('j F Y @ g:i a'); ?>"><?php echo $item->get_title(); ?></a>
			<p>
				<?php echo substr($item->get_description(), 0, 200); ?>
				<span>[...]</span>
			</p>
	<?php
		}
	}
	?>
</aside>

Этот код я добавил в sidebar.php и получил 7 последних записей этого блога на своем локальном, проверочном блоге.

Вот картинка:

Полный список функций, которые выводят различные данные элемента фида (статьи), подобные $item->get_permalink(), можете посмотреть здесь. Правда там все на англ, но разобраться при необходимости, думаю, можно.

Теги:
Рубрика: Разное | 04 августа 2011

Предыдущие записи из рубрики `Разное`

3 комментария

ERSEO, 08.09.2011 в 00:39

Спасибо, давно искал этот скрипт.

ОтветитьОтветить
Карина, 30.10.2014 в 07:10

Столкнулась с тем, что при использовании стандартного виджета для импорта новостей через RSS вместо русских букв выводятся кракозяблы..Анлийский шрифт выводится без искаженией.Пыталась вставлять в код сайдбара Ваш скрипт, все работает, но та же самая проблема со шрифтами.Подскажите, плиз, с этим как-то можно бороться?

ОтветитьОтветить
Игорь, 04.02.2016 в 19:54

Спасибочки большое, помог брателла)))

ОтветитьОтветить

Комментировать