WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

add_feed()WP 2.1.0

Добавляет новый тип RSS ленты наподобие /atom1/.

Функция добавляет правила перезаписи (ЧПУ) и регистрирует хук на основе указанной функции фида.

Хуков нет.

Возвращает

Строку. Имя хука созданного фида.

Использование

add_feed( $feedname, $callable );
$feedname(string)
Имя (слаг) новой RSS ленты.
$callable(callable)
Колбек выводящий разметку фида.

Примеры

0

#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() WP 6.5.2

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;
}
petrozavodsky 841alkoweb.ru
Делаю веб руками.
Редакторы: campusboy 4750, Kama 9616
2 комментария
    Войти