RSS + FeedBurner = лента новостей

rss-feedburner-d0bbd0b5d0bdd182d0b0-d0bdd0bed0b2d0bed181d182d0b5d0b9 Без рубрики

В системе WordPress лента RSS для трансляции Ваших новостей уже является встроенной функцией, как и на большинстве современных CMS. Однако возможности ее весьма ограничены, поэтому большинство блоггеров используют специальный плагин ленты rss, подключенный к одному из сторонних сервисов, самым известным из которых является Feedburner — его мы и настроим в данном уроке.
Разумеется, обязательно помотрите подробный получасовой видеоурок по настройке FeedBurner и подключению к нему ленты RSS вашего блога, а я сейчас лишь перечислю основные шаги, которые Вам нужно предпринять:

1. Завести свой аккаунт в Google — этот монстр недавно выкупил фидбернер и создав однажды в гугле учетную запись, вы сможете пользоваться очень многими системами, входящими в этот альянс. Так что рекомендую это сделать вне зависимости от того, будете ли Вы настраивать свою ленту RSS WordPress здесь или нет — он вам в будущем все равно понадобится. Подробное видео по созданию аккаунта Google я разбираю в уроке про AdSense.

2. Добавить RSS ленту Вашего блога в Feedburner и детально настроить ее отображение

3. Установить плагин RSS ленты FeedBurner FeedSmith и подключить к нему дефолтную ленту (ее адрес www.вашсайт.ru/feed). Плагин создает редирект с этого адреса по умолчанию на новый адрес вашей ленты в Feedburner.

4. Установить ссылку на WordPress ленту RSS и форму подписки для получения новостей по email.

Плюс к этому хочу еще добавить, что с помощью сервиса feedburner.com можно детально настроить отображение вашей ленты — установить заголовок, логотип, лайки, формы подписки и даже подключить AdSense для заработка на самой ленте, — а также следить за статистикой подписки пользователей на ваши обновления.

Для учета статистики подписчиков на RSS ленту, при этом не посещая каждый раз сайт FeddBurner, можно установить и настроить специальный плагин, который будет информировать прямо в админке блога — FeedStats.
Интерфейс его выглядит так:

RSS + FeedBurner = лента новостей

Но все, достаточно слов, смотрите — все сами поймете!

[pwal id=»11957481″ description=»Чтобы посмотреть видеоурок, нажмите на одну из кнопок»]

[/pwal]

Лента RSS в FeedBurner без плагина

Для противников использования плагинов для перенаправления пользователей со стандартного адреса фида WordPress на FeedBurner прописываем в файле .htaccess следующий код:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-] )?/?$ http://feeds.feedburner.com/ЗДЕСЬ_ВАШ_АККАУНТ [R=302,NC,L]

Хаки для ленты новостей RSS

1. Запланированное время публикации

Если не хотите, чтобы новость не сразу публиковалась в ленте, а это полезно для того, чтобы поисковики проиндексировали сначала Вашу страницу в качестве первоисточника, а потом уже на FeedBurner, то вставьте такой код в functions.php:

function publish_later_on_feed($where) {
  global $wpdb;

 if ( is_feed() ) {
// формат даты
$now = gmdate('Y-m-d H:i:s');

// время задержки + device
$wait = '5'; // integer

//В каком параметре исчислять время задержки:
//MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$device = 'MINUTE';

// add SQL-sytax to default $where
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
  }
  return $where;
}

add_filter('posts_where', 'publish_later_on_feed');

В нем можно настроить формат даты, а также точное время задержки публикации в исчислении от минуты до года.

2. Счетчик RSS подписчиков

Хотите похвастаться большим подписным листом? Не обязательно вставлять код, который предлагается в фидбернере. Мы сделаем так: в файл функций вставим код:

//get cool feedburner count
$whaturl="http://api.feedburner.com/awareness/1.0/GetFeedData?uri=feedburner-id";

//Initialize the Curl session
$ch = curl_init();

//Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Set the URL
curl_setopt($ch, CURLOPT_URL, $whaturl);

//Execute the fetch
$data = curl_exec($ch);

//Close the connection
curl_close($ch);
$xml = new SimpleXMLElement($data);
$fb = $xml->feed->entry['circulation'];
//end get cool feedburner count

А в том месте шаблона, где хотите видеть этот счетчик вставляем строку:

3. Исключить категории из ленты новостей

Не хотите, чтобы статьи из определенных рубрик публиковались в ленте? Не вопрос!
В functions.php добавляем:

function myFilter($query) {
  if ($query->is_feed) {
    $query->set('cat','-5'); //НЕ ЗАБУДЬТЕ ПОСТАВИТЬ ID СВОЕЙ КАТЕГОРИИ
  }
  return $query;
}

add_filter('pre_get_posts','myFilter');

4. Публиковать в ленте миниатюры записей

Для этого достаточно в файл функций добавить всего несколько строк

// show post thumbnails in feeds
function diw_post_thumbnail_feeds($content) {   global $post;   if(has_post_thumbnail($post->ID)) {          $content = '' . get_the_post_thumbnail($post->ID) . '' . $content;        }       return $content;}add_filter('the_excerpt_rss', 'diw_post_thumbnail_feeds');add_filter('the_content_feed', 'diw_post_thumbnail_feeds');

Оцените статью