По умолчанию WordPress использует стандартные шаблоны для отображения RSS-ленты, которые расположены в wp-includes
: feed-rss2.php (RSS 2.0 формат), feed-rss.php (RSS 0.92), feed-rdf.php (RDF/RSS 1.0), feed-atom.php (Atom), feed-atom-comments.php (лента последних комментариев, Atom), feed-rss2-comments.php (лента комментариев, RSS 2.0).
Наша задача: внести правки в RSS ленту, которую WordPress формирует по умолчанию.
Для этого копируем wp-includes/feed-rss2.php
и помещаем в папку темы /feeds/myfeed-rss2.php
и модифицируем нужным нам образом (к примеру меняем формат заголовков). А в function.php
добавляем код:
function my_feed_rss2( $for_comments ) { $rss_template = get_template_directory() . '/feed/myfeed-rss2.php'; if( file_exists( $rss_template ) ) load_template( $rss_template ); else do_feed_rss2( $for_comments ); // вызов функции по умолчанию } remove_all_actions( 'do_feed_rss2' ); add_action( 'do_feed_rss2', 'my_feed_rss2', 10, 1 );
Готово.
Например я изменил в RSS ленте способ отображения title — добавил категорию записи:
<title><?php $category = get_the_category(); echo $category[0]->cat_name. ': ' .get_the_title(); ?></title>
Pingback: WordPress: Вывод поста до тега more()