Якщо ви думаєте, як розмістити 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
Ласкаво! Зараз спробую.
Спробував?
Спробував?
Ми згоряємо від нетерпіння!