/ Wordpress / RSS-лента

RSS-лента

HIT

27.05.2018

1205

Настраиваем RSS-ленту и разбираемся для чего она может быть нужна. По умолчанию у сайтов wordpress лента изначальна доступна по адресу site.ru/feed/.

Доработка RSS-ленты

Добавить в ленту миниатюры записей

function img_rss($content) { 
global $post; 
if ( has_post_thumbnail( $post->ID ) ) { 
$content = '' . get_the_post_thumbnail( $post->ID, 'thumbnail', array( 'style' => 'float:left; margin:0 10px 10px 0;' ) ) . '' . $content; 
}
return $content; 
} 
add_filter('the_excerpt_rss', 'img_rss'); 
add_filter('the_content_feed', 'img_rss');
Чтобы миниатюры добавились нужно обновить любую запись

RSS-лента определенных категорий

Чтобы получить RSS определенных категорий, то нужно в URL указать эти категории:
https://site.ru/category/articles/feed/ — для одной
https://site.ru/category/articles,news/feed/ — для нескольких

Если включен плагин Remove Category URL, то вид ссылок также измениться:
https://site.ru/articles/feed/ — для одной
https://site.ru/articles,news/feed/ — !не дает сделать такой фид

Rss по метке
https://site.ru/tag/seo/feed

Проверять вывод фида удобно в браузере Firefox. Он показывает как лента выглядит для пользователя.

Исключить из общего фида (https://site.ru/feed/) какие-либо рубрики:

function ac_exclude_from_rss($query) {
    $cats_to_exclude = array( 64, 16); //перечисляем через запятую id рубрики, которые нужно исключить из RSS
    if ($query->is_feed && !$query->is_category($cats_to_exclude) ) {
        set_query_var('category__not_in', $cats_to_exclude);
    }
    return $query;
}
add_filter('pre_get_posts','ac_exclude_from_rss');

Вывод на сайте WP записей из другого сайта на WP

<?php if( function_exists('fetch_feed') ){
    $feed = fetch_feed('http://site.ru/proekty-domov/hotels/feed/');
 
    $limit = $feed->get_item_quantity(5); // задаем количество статей
    $items = $feed->get_items(0, $limit); // создаем массив элементов фида
 
    if( $limit == 0 )
        echo 'Фид пустой или недоступен.';
    else
        foreach( $items as $item ){ ?>
			<div class="hentry">
			<h3 class="post-title"><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h3>
			</div>
		<?php }
} ?>

Есть существенный недостаток этого метода — невозможно вывести миниатюру.

Поделиться в соц. сетях:

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

RSS-лента
Fancybox для контента
Рекомендации для васFancybox для контентаOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.