Anonim

Вам в якийсь момент розвитку WordPress може знадобитися надати комусь спеціальний канал. Незалежно від того, щоб надати комусь API, чи просто забезпечити кращий досвід для певного набору користувачів, це легко зробити.

Я вважаю за краще створити новий канал, а не розширювати канали за замовчуванням, оскільки я вважаю цей метод дещо простішим

функція add_feed WordPress

add_filter ('init', 'tj_init_custom_feed'); функція tj_init_custom_feed () {// ініціалізувати канал add_feed ('користувацька подача', 'tj_custom_feed'); }

У файл function.php у темі WordPress додайте код вище. Оскільки найкраще не викликати add_feed безпосередньо, ми додаємо його через фільтр на "init". Перший параметр у виклику функції використовується для надання URL-каналу для каналу. Другий параметр використовується для прив’язки його до імені функції. Отже, коли ця URL-адреса викликається (yourblogurl.com/custom-feed), вона виконує функцію PHP tj_custom_feed.

Зауважте, що правила перезапису WordPress повинні бути стерті до того, як ця URL-адреса буде розпізнана належним чином. Хороший простий спосіб змусити правила розмиватись - це перейти до адміністратора WordPress -> Налаштування -> Постійні посилання, а потім натиснути кнопку збереження змін.

Виведення XML

Насправді немає нічого надто складного у виведенні коду RSS / XML. По-перше, тип вмісту встановлюється за допомогою функції заголовка php, щоб він міг бути відображений відповідним чином. Далі ми отримуємо деякі дані з get_posts, перебираємо їх і відсилаємо на екран.

функція tj_custom_feed () {header ("Тип вмісту: text / xml"); відлуння "\ n"; відлуння " \ n "; $ posts = get_posts (); foreach ($ повідомлення як $ post) {$ post_link = get_permalink ($ post-> ID); $ image = wp_get_attachment_image_src (get_post_thumbnail_id ($ post-> ID), 'full') ; відлуння " '; відлуння "\ t ". $ post-> ID." \ n "; відлуння" \ t ". $ post-> post_date." \ n "; відлуння" \ t ". $ post_link." \ n "; відлуння" \ t ". esc_html ($ post-> post_title)." \ n "; відлуння" \ t ". esc_html (strip_tags ($ post-> post_excerpt))." \ n "; відлуння" \ t ". $ зображення." "; відлуння" '; } відлуння " "; Вхід; }

Створення користувальницьких RSS / RSS-каналів