За основу взят скрипт: https://danilin.biz/wordpress-yandex-zen.htm
Дополнения к статье выше: https://danilin.biz/wordpress-valid-yandex-zen-feed.htm
add_action('init', 'TurboRSS');
function TurboRSS(){
add_feed('turbo', 'TurboRSSFunc');
}
//Подключаем шаблон ленты rss-turbo.php
function TurboRSSFunc(){
get_template_part('rss', 'turbo');
}
<?php
$postCount = 999; // количество записей для отображения в фиде
$posts = query_posts('showposts=' . $postCount);
header('Content-Type: '.feed_content_type('rss-http').'; charset='.get_option('blog_charset'), true);
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>';
?>
<rss
xmlns:yandex="http://news.yandex.ru"
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:turbo="http://turbo.yandex.ru"
version="2.0"
>
<channel>
<?php while(have_posts()) : the_post(); ?>
<item turbo="true">
<title><?php the_title_rss(); ?></title>
<link><?php the_permalink_rss(); ?></link>
<turbo:content>
<![CDATA[
<header>
<h1><?php the_title_rss(); ?></h1>
<figure>
<?php echo get_the_post_thumbnail() ?>
</figure>
<menu>
<a href="">ГЛАВНАЯ</a>
</menu>
</header>
<?php $content = do_shortcode(get_post_field('post_content', $post->ID));
$pattern = '/
((<a.+?\>)?<img.*title=\"([^\\"]+)\".*?>(<\/a>)?)<\/p>/';
$replacement = '
<figure>$1
<figcaption>
'.get_the_title().'
<span class="copyright"><?php the_author(); ?></span>
</figcaption>
</figure>
';
$content = preg_replace( $pattern, $replacement, $content );
echo $content;
?>
<div data-block="widget-feedback" data-stick="false">
<div data-block="chat" data-type="call" data-url="+74957748621"></div>
</div>
]]>
</turbo:content>
</item>
<?php endwhile; ?>
</channel>
</rss>