10 корисних фішок для RSS в WordPress

  1. 1. Налаштовуємо час поява поста в RSS стрічці, висновок RSS з затримкою
  2. 2. Переведення RSS фида WordPress на фід з FeedBurner
  3. 3. Вставляємо рекламу, картинки (або ще що-небудь) в RSS-канал
  4. 4. Форматуємо правильно зображення для RSS-стрічки
  5. 5. Надайте вашим читачам RSS підписку на коментарі
  6. 6. Виключаємо певні категорії з RSS-стрічки
  7. 7. Виводимо будь-яку RSS-стрічку на WordPress блозі
  8. 8. Використовуємо окремі RSS-стрічки для різних категорій
  9. 9. Виводимо список RSS-підписок за категоріями
  10. 10. Позбавляємося від RSS ... зовсім;)

Опубліковано: 9 квітня 2010 / Оновлене: 24 мая 2012

Добрий вечір, дорогі читачі. Сьогоднішньої публікацією продовжую поповнювати скарбничку знань про WordPress на моєму блозі. Не одна з попередніх публікацій на цю тему не залишилася без уваги, а значить у вас є інтерес в цій галузі. І тому я не можу не задовольнити його! Приємного вам вивчення. Далі дуже багато потрібної інформації.

RSS - це одна з тих технологій яка дуже проста і в той же час просто незамінна. Сьогодні RSS це де факто загальноприйнятий стандарт для блогів, і використовується повсюдно. Ну а так як більшість блогів в мережі побудовано на WordPress, ми і розглянемо всі приклади можна застосувати до даного движку. Деякі фішки давно відомі, але я впевнений, що цей список допоможе вам використовувати свій RSS в WordPress набагато ефективніше, і все це без використання плагінів!

Як і в інших моїх постах про WordPress хочеться побудувати опис у вигляді «проблема-рішення-опис». Це найоптимальніший варіант опису таких речей. Тому що ви будете знати, не тільки як це робиться, але і чому робиться саме так, а при бажанні і під себе перебудувати.

Мабуть, будемо приступати.

1. Налаштовуємо час поява поста в RSS стрічці, висновок RSS з затримкою

Налаштовуємо час поява поста в RSS стрічці, висновок RSS з затримкою

Проблема: Чи траплялося у вас коли-небудь таке, що ви опублікували пост, і тільки потім помітили помилку? Звичайно, можна все виправити, але є невелика проблемка - пост вже потрапив в RSS-потік з помилкою. Щоб уникнути таких проблем є хороший рецепт - зробити затримку між публікацією поста на блозі і появою його в RSS-стрічці.

Вирішуємо проблему: Щоб вирішити цю проблему, нам необхідно вставити наступний код в файл function.php нашої теми:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function publish_later_on_feed ($ where) {global $ wpdb; if (is_feed ()) {// отримуємо поточний час $ now = gmdate ( 'Ymd H: i: s'); // затримка $ wait = '5'; // integer $ device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR $ where. = "AND TIMESTAMPDIFF ($ device, $ wpdb-> posts .post_date_gmt, '$ now')> $ wait"; } Return $ where; } Add_filter ( 'posts_where', 'publish_later_on_feed');

function publish_later_on_feed ($ where) {global $ wpdb; if (is_feed ()) {// отримуємо поточний час $ now = gmdate ( 'Ymd H: i: s'); // затримка $ wait = '5'; // integer $ device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR $ where. = "AND TIMESTAMPDIFF ($ device, $ wpdb-> posts.post_date_gmt, '$ now')> $ wait"; } Return $ where; } Add_filter ( 'posts_where', 'publish_later_on_feed');

Доповнення: У даному коді виставлена затримка між публікацією поста і оновленням RSS-потоку в 5 хвилин. Для цього визначена змінна $ wait. Ви можете змінити значення на свій розсуд.

2. Переведення RSS фида WordPress на фід з FeedBurner

Проблема: Більшість блогерів-початківців зазвичай починають користуватися сервісом FeedBurner тільки після того, як побачать встановлений лічильник передплатників на інших блогах і представляють як це корисно і круто. Вони реєструються, встановлюють лічильник, але існуючі передплатники вже підписані на стандартний WordPress RSS-фід. Та ще й деякі нові відвідувачі продовжують підписуватися на нього.

Проблема №2: Якщо ви часто міняєте теми оформлення блогу, вам необхідно буде постійно піклуватися про те, щоб замінити стандартну функцію bloginfo ( 'rss2_url') на адресу вашого FeedBurner каналу.

Вирішуємо проблему: Рішення обох проблем зовсім не складне, ми будемо використовувати редирект на сервері.
Додаємо наступний код в файл .htaccess в кореневій директорії і зберігаємо

1 2 3 4 5 6 7 # temp redirect wordpress content feeds to feedburner <IfModule mod_rewrite .c> RewriteEngine on RewriteCond% {HTTP_USER_AGENT}! FeedBurner [NC] RewriteCond% {HTTP_USER_AGENT}! FeedValidator [NC] RewriteRule ^ feed /? ([_0 -9a -z -] +)? /? $ Http: //feeds.feedburner.com/alaev/TxUH [R = 302, NC, L] </ IfModule>

# Temp redirect wordpress content feeds to feedburner <IfModule mod_rewrite.c> RewriteEngine on RewriteCond% {HTTP_USER_AGENT}! FeedBurner [NC] RewriteCond% {HTTP_USER_AGENT}! FeedValidator [NC] RewriteRule ^ feed /? ([_ 0-9a-z-] +)? /? $ http://feeds.feedburner.com/alaev/TxUH [R = 302, NC, L] </ IfModule>

Доповнення: Не забудьте змінити адресу каналу на свій. Тепер, коли хто-небудь натисне на посилання виду http://www.yourblog.com/feed він буде переміщений на http://feeds.feedburner.com/yourblog. Тепер ви ніколи не втратите своїх передплатників. Навіть якщо будете міняти тему оформлення за десять раз на дню, вам не доведеться знову і знову вручну змінювати адресу RSS-каналу.

3. Вставляємо рекламу, картинки (або ще що-небудь) в RSS-канал

Вставляємо рекламу, картинки (або ще що-небудь) в RSS-канал

Проблема: Монетизація RSS-стрічки вже стала повсякденною річчю, особливо за кордоном, і багато блогери використовують цю тактику для збільшення своїх доходів. FeedBurner може вставити рекламу AdSense в стрічку, але є деякі обмеження по передплатникам, щоб мати таку можливість. Та й вставити щось інше крім AdSense не вийде, а це незручно.

Вирішуємо проблему: Завжди є можливість вставити що завгодно і куди завгодно =) Ось, наприклад, ви можете вставити посилання на що-небудь «смачненьке» тільки для своїх передплатників.
Для цього потрібно додати наступну функцію в файл вашої теми functions.php

1 2 3 4 5 6 7 8 <? Php function insertAds ($ content) {$ content = $ content. '<Hr /> <a href="https://alaev.info/fotofolio"> А ви вже прокоментували мої фотографії? &lt;/a> <hr />'; return $ content; } Add_filter ( 'the_excerpt_rss', 'insertAds'); add_filter ( 'the_content_rss', 'insertAds'); ?>

<? Php function insertAds ($ content) {$ content = $ content. '<Hr /> <a href="https://alaev.info/fotofolio"> А ви вже прокоментували мої фотографії? &lt;/a> <hr /> '; return $ content; } Add_filter ( 'the_excerpt_rss', 'insertAds'); add_filter ( 'the_content_rss', 'insertAds'); ?>

Доповнення: Існує багато різних способів добитися потрібного результату, але вони вимагають втручання в код. Цей же спосіб використовує тільки функцію add_filter () для вставки потрібного елемента без необхідності правити код движка.

4. Форматуємо правильно зображення для RSS-стрічки

Спеціально був схожий зараз по блогам і таки знайшов у кількох людей цю ​​проблему. Дивіться, проблемну ділянку я позначив червоним.

Але ж набагато красивіше було б зробити так

Або так

Проблема: Досить багато часу все ми витрачаємо на форматування тексту і зображень в запису на блозі. На самому блозі це може виглядати добре, а ось як це буде виглядати в RSS-рідері? Ви це перевіряєте? А варто іноді це робити.

Вирішуємо проблему: Щоб розібратися з цією проблемою додаємо до зображення параметр style.

1 <img src = "https://alaev.info/wp-content/uploads/2010/04/wp10rss_4_3-300x98.jpg" alt = "wp10rss_4_3" title = "wp10rss_4_3" width = "300" height = "98" class = "alignleft" style = "padding: 0 10px 5px 0;" />

<Img src = "https://alaev.info/wp-content/uploads/2010/04/wp10rss_4_3-300x98.jpg" alt = "wp10rss_4_3" title = "wp10rss_4_3" width = "300" height = "98" class = "alignleft" style = "padding: 0 10px 5px 0;" />

Додатково: padding: 0 10px 5px 0; кожен з чотирьох параметрів означає відступ починаючи з верхнього закінчуючи лівим краєм, за годинниковою стрілкою. Отже в прикладі буде відступ для картинки 10px справа і 5px знизу.

5. Надайте вашим читачам RSS підписку на коментарі

Надайте вашим читачам RSS підписку на коментарі

Проблема: Коли до якогось з постів залишено і досі пишеться дуже багато коментарів, читачам буде дуже складно стежити за розвитком подій. У більшості тем оформлення дана фішка не передбачена, але сам WordPress має востренним функцію, яка дозволить організувати RSS-стрічку коментарів до кожного посту.

Вирішуємо проблему: Рішення тут зовсім просте, ніяких хаков не буде потрібно. Досить додати функцію comment_rss_link () в вашу тему. Дивимося наступний код:

1 <? Php comments_rss_link ( '& raquo; RSS-стрічка коментарів до посту'); ?>

<? Php comments_rss_link ( '& raquo; RSS-стрічка коментарів до посту'); ?>

6. Виключаємо певні категорії з RSS-стрічки

Проблема: Чи є у вас на блозі категорія або навіть кілька категорій, які ви б не хотіли включати в RSS? Може бути, ця категорія з рекламними оглядами або вашими особистими новинами, яка не цікава цінителям основного контенту? Так що ідея НЕ включати її в загальну стрічку виглядає чудовою!

Вирішуємо проблему: Нижче описаний алгоритм дій, який допоможе виключити довільну категорію зі стрічки:

  1. Обчислюємо ID непотрібної категорії. Його ви можете дізнатися в настройках самої категорії
  2. Тепер йде в редагування файлу вашої теми functions.php
  3. Вставляємо в файл наступний код і зберігаємо

1 2 3 4 5 6 7 8 function myFilter ($ query) {if ($ query -> is_feed) {$ query -> set ( 'cat', '-5'); // Не забудьте вставити свій ID ^ _ ^} return $ query; } Add_filter ( 'pre_get_posts', 'myFilter');

function myFilter ($ query) {if ($ query-> is_feed) {$ query-> set ( 'cat', '- 5'); // Не забудьте вставити свій ID ^ _ ^} return $ query; } Add_filter ( 'pre_get_posts', 'myFilter');

Додатково: Не забудьте в коді замінити значення на ваш ID. Тут так само використовується корисна функція add_filter () може бути застосовано до pre_get_posts ().

7. Виводимо будь-яку RSS-стрічку на WordPress блозі

Проблема: Може бути у вас кілька блогів? Або навіть у вас є тематичний форум? Тоді вам напевно захочеться зробити висновок останніх новин на своєму блозі.

Вирішуємо проблему: Все це можна вирішити плагінами, але ми чітко вирішили не користуватися ними. Та й до того ж WordPress має вбудований RSS-рідер який можна використовувати для виведення новин.
Йдемо в редагування шаблону і в потрібному місці (наприклад, в сайдбарі або в футере) вставляємо наступний код:

1 2 <? Php include_once (ABSPATH .WPINC. '/Rss.php'); wp_rss ( 'http://feeds.feedburner.com/alaev/TxUH', 3); ?>

<? Php include_once (ABSPATH.WPINC. '/ Rss.php'); wp_rss ( 'http://feeds.feedburner.com/alaev/TxUH', 3); ?>

Додатково: Перше що ми робимо, це довантажувати стандартний rss.php. Цей файл нам дозволяє використовувати функцію wp_rss (), яка має два параметри: адреса rss-потоку і кількість виведених елементів.

8. Використовуємо окремі RSS-стрічки для різних категорій

Проблема: Деякі блоги ведуться авторами, які цікавляться різними темами, іноді не пов'язаними один з одним. Наприклад, програмування, веб-дизайн, блогінг, seo і т.д. А що якщо читачеві цікава тільки одна з цих тем? У цьому випадку варто задуматися над тим, щоб виводити новини для кожної категорії окремо.

Вирішуємо проблему: Уявіть, що ви хочете підписатися тільки на категорію WordPress , Яка має наступну адресу:

1 https://alaev.info/blog/category/wordpress

https://alaev.info/blog/category/wordpress

Щоб отримати адресу RSS-стрічки для даної категорії необхідно додати тільки / feed в кінці url'а, ось так:

1 https://alaev.info/blog/category/wordpress/feed

https://alaev.info/blog/category/wordpress/feed

Дуже просто, чи не так? Але в той же час дуже корисно, по-моєму.

9. Виводимо список RSS-підписок за категоріями

Виводимо список RSS-підписок за категоріями

Проблема: Якщо вам сподобався попередній пункт, вам напевно сподобається і цей. Зараз ми займемося висновком назв категорій для підписки і картинки RSS.

Вирішуємо проблему: Відкриваємо необхідний файл вашої теми оформлення, знаходимо відповідне місце і вставляємо наступний код:

1 <? Php wp_list_categories ( 'feed_image = https: //alaev.info/rss_img.gif&feed=XML Feed & optioncount = 1 & children = 0'); ?>

<? Php wp_list_categories ( 'feed_image = https: //alaev.info/rss_img.gif&feed=XML Feed & optioncount = 1 & children = 0'); ?>

Додатково: Цей метод використовує стару добру функцію wp_list_categories (). Вона містить два параметри: feed_image - шлях до зображення відображення фида і, власне, параметр визначає формат самого фида.

10. Позбавляємося від RSS ... зовсім;)

зовсім;)

Спершу вам необхідно буде відповісти на питання, а для чого ви використовуєте CMS WordPress? Для свого портфоліо або це сайт вашої фірми? Тоді може бути вам і не потрібна RSS-стрічка на сайті і треба її видалити?

Вирішуємо проблему: На цю тему є багато порад, наприклад, деякі радять просто видалити include в файлі wp-settings.php. Але я б не став так поступати і редагувати цей файл. Все можна зробити простіше. Наступний код допоможе вам вирішити проблему раз і назавжди. Вставляємо його в functions.php:

1 2 3 4 5 6 7 8 9 function fb_disable_feed () {wp_die (__ ( 'Фид недоступний, будь ласка, перейдіть на нашу <a href="'. Get_bloginfo ('url').'"> головну сторінку </a> ! ')); } Add_action ( 'do_feed', 'fb_disable_feed', 1); add_action ( 'do_feed_rdf', 'fb_disable_feed', 1); add_action ( 'do_feed_rss', 'fb_disable_feed', 1); add_action ( 'do_feed_rss2', 'fb_disable_feed', 1); add_action ( 'do_feed_atom', 'fb_disable_feed', 1);

function fb_disable_feed () {wp_die (__ ( 'Фид недоступний, будь ласка, перейдіть на нашу <a href="'. get_bloginfo('url') .'"> головну сторінку </a>!')); } Add_action ( 'do_feed', 'fb_disable_feed', 1); add_action ( 'do_feed_rdf', 'fb_disable_feed', 1); add_action ( 'do_feed_rss', 'fb_disable_feed', 1); add_action ( 'do_feed_rss2', 'fb_disable_feed', 1); add_action ( 'do_feed_atom', 'fb_disable_feed', 1);

Переклад, адаптований і підготовлений для найкращого розуміння матеріалу.
Джерело: Smashingmagazine.com - 10 Useful RSS-Tricks and Hacks For WordPress

Ну ось і все, дорогі читачі. Сьогоднішній екскурс в поліпшення нашого сайту на WordPress закінчений. Звичайно, це тільки частина всього самого цікавого. У мене в запасі безліч різних хаков, про які ви, напевно, не чули. Я буду ділитися своїми секретами з вами поступово. Адже вам буде потрібно час, щоб все це переварити. Так що прочитайте ще раз і виберіть те, що вам підходить, і йдіть пробувати і покращувати своє улюблений блог. Успіхів!

Чекаю ваших коментарів, ретвітів і, звичайно ж, питань, якщо щось не буде виходити.

З повагою, Олександр Алаев
Опубліковано: 9 квітня 2010

FeedValidator [NC] RewriteRule ^ feed /?
A -z -] +)?
FeedValidator [NC] RewriteRule ^ feed /?
A-z-] +)?
Info/fotofolio"> А ви вже прокоментували мої фотографії?
Lt;/a> <hr />'; return $ content; } Add_filter ( 'the_excerpt_rss', 'insertAds'); add_filter ( 'the_content_rss', 'insertAds'); ?
Info/fotofolio"> А ви вже прокоментували мої фотографії?
Lt;/a> <hr /> '; return $ content; } Add_filter ( 'the_excerpt_rss', 'insertAds'); add_filter ( 'the_content_rss', 'insertAds'); ?
На самому блозі це може виглядати добре, а ось як це буде виглядати в RSS-рідері?
Ви це перевіряєте?

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: