Якщо ви думаєте, як розмістити RSS-стрічку у будь-якому місці сайту, і ви використовуєте WordPress – ви будете раді почути про цей спосіб. Так є WordPress RSS widget... але якщо можливості показу стрічки в сайдбарі вам недостатньо?
Це керівництво покаже вам, як узяти RSS-стрічку і розмістити її в будь-якому місці вашої теми, у тому числі на сторінці або шаблоні посту.
Це відмінне рішення для вас, якщо ви використовуєте генератори RSS-стрічок (поки непотрібна інформація у футері стрічки) або плагіни (привіт, швидший сайт)!
Код
Почнемо з показу коду, а далі проаналізуємо покроково. Це код, який потрібно буде вставити в шаблон вашої теми, де ви хочете показувати стрічку. Наприклад, ви можете вставити його в специфічний шаблон сторінки для окремої, оформленої RSS-стрічки.
Код: частина 1
<?php if(function_exists('fetch_feed')) { include_once(ABSPATH . WPINC . '/feed.php'); // the file to rss feed generator $feed = fetch_feed('http://www.brettthompsonracing.com/feed/'); // specify the rss feed $limit = $feed->get_item_quantity(7); // specify number of items $items = $feed->get_items(0, $limit); // create an array of items } if ($limit == 0) echo '<div>The feed is either empty or unavailable.</div>'; else foreach ($items as $item) : ?> // The actual output <h1><a href="<?php echo $item->get_permalink(); ?>" alt="<?php echo $item->get_title(); ?>"><!--?php echo $item--->get_title(); ?></a></h1> <p><?php echo $item->get_date('j F Y @ g:i a'); ?></p> <p><?php echo substr($item->get_description(), 0, 200); ?> ...</p> <?php endforeach; ?>
Аналіз: частина 1
Ідея полягає в тому, щоб спочатку знайти генератор стрічки
include_once(ABSPATH . WPINC . ‘/feed.php’);
який має бути у правильному місці для того, щоб код працював.
Потім ви додаєте RSS-стрічку
$feed = fetch_feed(‘http://www.brettthompsonracing.com/feed/’);
ви хочете показувати на вашому сайті. Для деяких стрічок потрібний символ / в кінці. Врахуйте, що можуть працювати не всі RSS-стрічки; якщо таке станеться, ви завжди можете перетворити стрічку на FeedBurner RSS.
Рядок
$limit = $feed->get_item_quantity(7);
визначить, скільки постів ви хочете показувати. Поставте в дужках замість «7» кількість постів, яка вам потрібна.
Якщо постів немає, з'явиться повідомлення про помилку "The feed is either empty or unavailableТекст цього повідомлення ви можете змінити за своїм бажанням. Якщо ви отримуєте це повідомлення, то швидше за все, код працює.
Ви можете визначити, які дані зі стрічки виводити. Вибрані дані для показу будуть виводитися для всіх постів (якщо у вас кілька стрічок). Іконок, як бачите, у списку доступних параметрів немає.
- get_title(); ?> = Заголовок поста.
- get_date('j FY @ g:i a'); ?> = Дата. Якщо ви хочете показувати дату в іншому вигляді – вам сюди.
- get_permalink(); ?> = Посилання на пост.
- get_description(), 0, 200); ?> = Уривок або опис, замість числа «200» поставте кількість символів, яку ви хочете відображати.
Частина 2
За замовчуванням ваша RSS-стрічка оновлюватиметься кожні 12 годин. Якщо ви використовуєте наведений нижче код, стрічка перевірятиметься кожні 30 хвилин. Код потрібно вставити в functions.php або файл custom_functions.php теми:
add_filter( 'wp_feed_cache_transient_lifetime', create_function('$rssfix', 'return 1800;') );
Аналіз коду: частина 2
add_filter — це виклик функції WordPress, який дозволяє підключитися до ядра WordPress і зачепити свою функцію для виконання під час певних операцій.
Так званою зачіпкою (або хуком, від англійського «hook») у цьому випадку є wp_feed_cache_transient_lifetime. Він опрацьовує оновлення стрічки.
Потім іде функція create_function('$rssfix', 'return 1800;'), яка встановлює потрібний інтервал для частішої перевірки стрічки. Наведений код встановлює 30-хвилинний інтервал. Якщо ви хочете встановити інший час, замініть 1800 на потрібний вам. 600 = 10 хвилин, 1200 = 20 хвилин, 1800 = 30 хвилин.
$rssfix можна замінити на будь-який текст, головне – не забути $ на початку.
Ось так ось. Використовуйте цю ідею у вашому php-віджеті, темі, пості чи шаблоні сторінки. Як згадувалося на початку посту, ви можете вставити код у специфічний шаблон сторінки для окремої, оформленої RSS-стрічки.
Коментарі до запису: 3
Ласкаво! Зараз спробую.
Спробував?
Спробував?
Ми згоряємо від нетерпіння!