У минулій статті ми розповіли ви можете управляти футером стрічки RSS в WordPress за допомогою відомого плагіна під назвою RSS Footer від Joost. Плагін звичайно хороший, але обмежений в можливостях. Ви можете тільки додати текст в футер, і це один і той же текст для всіх записів. Що робити, якщо буде потрібно вивести різний текст для кожного запису у вашій стрічці RSS? Якщо потрібно вказати інший заголовок для певних записів в стрічці RSS? А якщо буде потрібно вивести довільне поле? Тому в сьогоднішній статті ми покажемо вам як додати будь-який тип контенту в вашу стрічку RSS в WordPress. Цей хак дозволить вам повністю контролювати і керувати вашої стрічкою RSS в WordPress і робити з нею ви зможете все, що завгодно.
Примітка: Цей хак не для новачків. Рекомендується тільки користувачам, вільно керовані з правками файлу functions.php і мають хоча б базові знання php. Новачкам краще використовувати плагін, згаданий в статті вище, або звернутися до фахівця з приводу реалізації цієї фічі.
1. Додаємо довільні поля в футер вашої RSS стрічки в WordPress
Розповімо докладніше, як працює цей код. Ми створили функцію під назвою devise_postrss, яка виконує глобальний запит wp_query пошуку в кожного запису на предмет того. чи існує довільне поле з ім'ям "coolcustom" і задано йому значення. Якщо значення задано, то функція відображає його після контенту записи. Якщо ж довільного поля не існує, то функція за замовчуванням виводить тільки контент і більше нічого. Ми використовували змінну $ content для виведення контенту. Також ми використовували функцію if (is_feed) і додавання довільного тексту до основного контенту, що ви можете побачити у другому фільтрі. Але довільний текст буде відображатися тільки в стрічці завдяки використанню функції if (is_feed). Саме така реалізація дозволить уникнути проблем сумісності.
Деякі з вас можуть сказати, що топлагін RSS footer робить те ж саме, що і ця функція. І так і ні. Так, ми додаємо код в футер записи, однак цей текст не те ж самий текст для кожного запису. Він різний, тому як ви вказуєте різний текст для кожного запису за допомогою довільних полів.