kmaroff
12/12/2018 - 1:40 PM

Турбо-страницы

За основу взят скрипт: 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>