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.0.2
function add_feed( $feedname, $function ) {
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, $function, 10, 2);
return $hook;
}