Описание
Получает внешний фид и парсит его (разбивает на данные).
Для получения и парсинга фида fetch_feed() использует популярный класс SimplePie. Фид кэшируется и кэш в последствии обновляется каждые 2 часа.
Сомнительная функция какая-то или я чего-то не понял, но факт в том, что она кэширует фиды в БД, в таблицу опций, какое-то ненормальное поведение! Пользуйтесь ей аккуратно! Кто знает зачем сделано именно так, отпишите в комментариях плз!
Функция возвращает SimplePie объект данных о фиде или объект WP_Error в случае ошибки.
Использование
<?php $feed = fetch_feed( $uri ); ?>
Параметры
- $uri (строка) (обязательный)
- Ссылка (УРЛ) на фид который нужно получить. В результате по этой ссылке будет получен создан объект (массив) SimplePie.
По умолчанию: нет
Примеры
1. Пример, который получает и выводит на экран ссылки на существующий RSS фид. В примере мы ограничиваем вывод только 5-ю последними записями в фиде.
<h2>Поcледние новости с блога blog.ru</h2>
<?php
// делаем функцию fetch_feed() доступной, обычно эта строка не нужна
include_once(ABSPATH . WPINC . '/feed.php');
// Получаем фид и создаем из него SimplePie объект.
$rss = fetch_feed('http://blog.ru/feed');
// Проверяем, что объект успешно создан
if( !is_wp_error( $rss ) ){
// Указываем что максимум мы хотим выводить 5 записей фида
$maxitems = $rss->get_item_quantity(5);
// Создаем массив всех записей фида, начиная с первой записи (0 - начало)
$rss_items = $rss->get_items(0, $maxitems);
}
?>
<ul>
<?php
if( $maxitems == 0 )
echo '<li>Нет записей.</li>';
else
// Пробегаемся по массиву и выводим ссылку на каждую запись
foreach ( $rss_items as $item ){ ?>
<li><a href='<?php echo esc_url( $item->get_permalink() ); ?>' title='<?php echo 'Posted '.$item->get_date('j F Y | g:i a'); ?>'><?php echo esc_html( $item->get_title() ); ?></a></li>
<?php } ?>
</ul>
На заметку
Подробнее о методах класса SimplePie читайте в документации (англ.).
fetch_feed()
из файла: /wp-includes/feed.php WP 3.3.2function fetch_feed($url) {
require_once (ABSPATH . WPINC . '/class-feed.php');
$feed = new SimplePie();
$feed->set_feed_url($url);
$feed->set_cache_class('WP_Feed_Cache');
$feed->set_file_class('WP_SimplePie_File');
$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200, $url));
do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );
$feed->init();
$feed->handle_content_type();
if ( $feed->error() )
return new WP_Error('simplepie-error', $feed->error());
return $feed;
}Связанные Функции
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Хотите быть красивой и выделяться в толпе? Одним из способов достижения этого — это бижутерия. Красивая и выразительная бижутерия это то чего вы достойны!