WordPress поставляється разом з вбудованими стандартними RSS-фідамі. Ви можете налаштовувати стандартні фіди шляхом додавання довільного контенту, включати мініатюри в фід і т.д. Стандартних фідів RSS і Atom цілком достатньо для більшості користувачів, проте у вас може виникнути бажання створити довільний RSS-фід для будь-якого певного типу контенту. У даній статті ми покажемо вам, як створити свої власні RSS-фіди в WordPress.
Припустимо, що ви хочете створити новий RSS-фід, який буде відображати наступну інформацію:
Перше, що вам знадобиться зробити - це створити новий RSS-фід в файлі теми functions.php:
Як тільки ви проведете ініціалізацію фида, вам знадобиться створити callback-функцію для генерації необхідного фида, що робиться за допомогою наступного коду у файлі теми functions.php:
У коді вище використовується функція get_template_part для зв'язку з окремим шаблоном, однак ви можете також поміщати RSS-код прямо в функцію. За допомогою get_template_part ми можемо відокремити функціональність від розмітки. Функція get_template_part має два аргументи - складаючи і назва, які шукають шаблон з назвою в наступному форматі, починаючи з самого першого файлу (і слідуючи далі, якщо перший файл не знайдене):
- wp-content / themes / child / rss-feedname.php
- wp-content / themes / parent / rss-feedname.php
- wp-content / themes / child / rss.php
- wp-content / themes / parent / rss.php
У нашому керівництві складаючи буде поставлено як тип фида, який ми створимо (в даному випадку: rss). Назва нашого фида буде feedname.
Після того, як ви повідомите WordPress, що потрібно знайти шаблон фида, вам знадобиться його створити. Наступний код забезпечить розмітку для фида з інформацією, перерахованої нами раніше. Зберігаємо цей файл як slug-name.php в папці з нашою темою.
Функція the_excerpt_rss виводить цитату кожного запису. Для записів, у яких не задані цитати, функція виведе перші 120 слів контенту.
Нарешті, щоб вивести фид, ви повинні будете спочатку очистити ваші правила перезапису. Найпростіший спосіб зробити це - зайти в адмінку WordPress і клацнути по пункту Параметри - Постійні посилання. Просто натисніть на кнопку «Зберегти зміни», що призведе до очищення правил перезапису.
W3C пропонує сервіс валідації фида. дозволяє вам перевірити коректність створеного фида.
Вирішення проблем
Мій фид не пройшов перевірку валідності!
W3C валідатор фида повинен видати певну інформацію, в якій буде вказано, чому фид не пройшов перевірку. Відредагуйте шаблон фида, щоб позбутися від цих проблем.
Я зіткнувся з
Це популярна помилка, яка вилазить в тому випадку, якщо мова RSS не заданий у вашій збірці WordPress. Щоб виправити це, додайте наступний код до вашого файлу теми functions.php:
Відредагуйте другий аргумент функції update_option, щоб задати потрібну мову.
Як тільки код, представлений вище, буде додано до вашого файлу functions.php, перейдіть до адмінки WordPress. Після цього дії код повинен бути вилучений з файлу функцій. Одноразового завантаження буде цілком достатньо для настройки параметра rss_language.
Зробити це можна також через базу даних, відшукавши опцію rss_language в таблиці wp_options.