Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
Теми
Уроки
Хакі

Якщо ви думаєте, як розмістити RSS-стрічку у будь-якому місці сайту, і ви використовуєте WordPress – ви будете раді почути про цей спосіб. Так є WordPress RSS widget... але якщо можливості показу стрічки в сайдбарі вам недостатньо?

Це керівництво покаже вам, як узяти RSS-стрічку і розмістити її в будь-якому місці вашої теми, у тому числі на сторінці або шаблоні посту.
Це відмінне рішення для вас, якщо ви використовуєте генератори RSS-стрічок (поки непотрібна інформація у футері стрічки) або плагіни (привіт, швидший сайт)!

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Код

Почнемо з показу коду, а далі проаналізуємо покроково. Це код, який потрібно буде вставити в шаблон вашої теми, де ви хочете показувати стрічку. Наприклад, ви можете вставити його в специфічний шаблон сторінки для окремої, оформленої 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-стрічки.

Джерело: WP.TutsPlus.com
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 3

Antony Bark:

Ласкаво! Зараз спробую.

macleo:

Спробував?

Alatena:

Спробував?
Ми згоряємо від нетерпіння!

Додати коментар або відгук