Як створити власні RSS-канали в WordPress

WordPress поставляється із вбудованими RSS-каналами за замовчуванням. Ви можете налаштувати канали за замовчуванням, додавши спеціальний вміст у свої RSS-канали або навіть додавши мініатюру повідомлення до своїх RSS-каналів. RSS-канали RSS та Atom за замовчуванням достатньо для більшості користувачів, але ви можете створити спеціальний RSS-канал для доставки певного типу вмісту. У цій статті ми покажемо вам, як створювати власні RSS-канали в WordPress.


Зверніть увагу, що цей підручник не призначений для користувачів початкового рівня WordPress. Якщо ви новачок і все ще хочете спробувати це, то будь ласка, зробіть це в локальній установці.

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

Сказавши це, почнемо з першої власної RSS-стрічки в WordPress.

Припустимо, ви хочете створити новий канал RSS, який відображає лише таку інформацію:

  • Назва
  • Посилання
  • Дата опублікування
  • Автор
  • Уривок

Перше, що вам потрібно зробити, – це створити новий RSS-канал у файлі function.php теми або у плагіні для конкретного сайту:

добавлення (‘init’, ‘customRSS’);
функція customRSS () {
add_feed (‘ім’я каналу’, ‘customRSSFunc’);
}

Вищевказаний код запускає функцію customRSS, яка додає канал. Функція add_feed має два аргументи, ім’я каналу та функцію зворотного виклику. Ім’я каналу складе ваш новий URL-канал каналу yourdomain.com/feed/feedname, і функція зворотного дзвінка буде викликана, щоб фактично створити канал. Запишіть ім’я каналу, як вам це знадобиться пізніше.

Після ініціалізації каналу вам потрібно буде створити функцію зворотного дзвінка, щоб створити необхідний канал, використовуючи наступний код у файлі function.php теми або в плагіні для конкретного сайту:

функція customRSSFunc () {
get_template_part (‘rss’, ‘ім’я каналу’);
}

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

  1. wp-content / themes / child / rss-feedname.php
  2. wp-content / themes / parent / rss-feedname.php
  3. wp-content / themes / child / rss.php
  4. wp-content / themes / parent / rss.php

Для цього навчального посібника найкраще встановити службовий тип типу каналу, який ви створюєте (у даному випадку: rss), а також ім’я для імені каналу, налаштованого раніше на.

Після того, як ви сказали WordPress шукати шаблон каналу, вам потрібно буде створити його. Нижче наведений код створить макет для каналу з інформацією, яку ми перераховували раніше. Збережіть цей файл у папці тем як файл шаблону slug-name.php, налаштований у функції get_template_part.

<?php
/ **
* Назва шаблону: Спеціальний шаблон RSS – Ім’я
* /
$ postCount = 5; // Кількість публікацій для показу у стрічці
$ posts = query_posts (‘showposts =’. $ postCount);
заголовок (‘Content-Type:’ .feed_content_type (‘rss-http’). ‘; charset =’. get_option (‘blog_charset’), вірно);
відлуння ‘<?версія xml ="1,0" кодування ="’.get_option (‘ blog_charset ‘).’"?’.’>’;
?>
>

<?php bloginfo_rss (‘ім’я’); ?> – Корм
" rel ="Я" type ="додаток / rss + xml" />
<?php bloginfo_rss (‘url’) ?>
<?php bloginfo_rss (‘опис’) ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_lastpostmodified (‘GMT’), false); ?>
<?php echo get_option (‘rss_language’); ?>
<?php echo apply_filters (‘rss_update_period’, ‘погодинно’); ?>
<?php echo apply_filters (‘rss_update_frequency’, ‘1’); ?>
<?php dogery (‘rss2_head’); ?>
<?php while (have_posts ()): the_post (); ?>

<?php the_title_rss (); ?>
<?php the_permalink_rss (); ?>
<?php echo mysql2date (‘D, d M Y H: i: s +0000’, get_post_time (‘Y-m-d H: i: s’, true), false); ?>
<?php the_author (); ?>
<?php the_guid (); ?>

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    [ware_item id=87][/ware_item]