add_feed()
Добавляет новый тип RSS ленты наподобие /atom1/.
Функция добавляет правила перезаписи (ЧПУ) и регистрирует хук на основе указанной функции фида.
Хуков нет.
Возвращает
Строку
. Имя хука созданного фида.
Использование
add_feed( $feedname, $callable );
- $feedname(string)
- Имя (слаг) новой RSS ленты.
- $callable(callable)
- Колбек выводящий разметку фида.
Примеры
#1 Создание собственной RSS ленты
<?php add_action( 'init', function(){ add_feed( 'my_feed', 'my_feed_markup' ); }); function my_feed_markup(){ do_action( 'my_before_feed' ); header( 'Content-Type: ' . feed_content_type( 'rss' ) . '; charset=' . get_option( 'blog_charset' ), true ); status_header( 200 ); echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" > <channel> <title>example.com</title> <link> http://example.com/my_feed</link> <description>My new feed</description> <lastBuildDate>Tue, 28 Feb 2017 13:00:41 +0000</lastBuildDate> <language>ru-RU</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item> <title>Hello world text</title> <pubDate>Tue, 28 Feb 2017 13:00:41 +0000</pubDate> <description><![CDATA[<p></p> Hello World </a> ]]></description> </item> </channel> </rss> <?php exit; }
Заметки
- Global. WP_Rewrite. $wp_rewrite WordPress rewrite component.
Список изменений
С версии 2.1.0 | Введена. |
Код add_feed() add feed WP 6.7.1
function add_feed( $feedname, $callback ) { global $wp_rewrite; if ( ! in_array( $feedname, $wp_rewrite->feeds, true ) ) { $wp_rewrite->feeds[] = $feedname; } $hook = 'do_feed_' . $feedname; // Remove default function hook. remove_action( $hook, $hook ); add_action( $hook, $callback, 10, 2 ); return $hook; }