Добавление форматов постов в ленту RSS

Добавление форматов постов в ленту RSS | n-wp.ru

Добавление форматов постов в ленту RSS

В WordPress давно уже и с успехом используется система форматов постов, призванная упростить оформление записей с разным медийным содержимым. Однако если подписаться на RSS блога, то обнаружится, что все посты идут с одинаковым оформлением, и не понятно, какой у них формат. Более того, передача контента в RSS оставляет желать лучшего, так как в WordPress до сих пор нет нормального функционала, способного корректно передавать видео, галереи изображений, вставленные в посты аудио файлы, и все это оформлять подобающим образом.

Универсальным методом формирования содержимого RSS сейчас является отправка цитаты поста или контента до тега more, ограниченного рамками упрощенной HTML-разметки, которая не всегда отвечает требованиям для передами мультимедийного контента. Поэтому посты формата видео трудно отличить от постов стандартного формата, а если в них только видео и ничего больше, то подписчик и вовсе может ничего не увидеть, получив в ленте RSS пустое сообщение. Чтобы исправить эту ситуацию, можно добавить к содержимому RSS информацию, поясняющую, запись какого формата получил подписчик, и что нужно сделать, чтобы увидеть мультимедийное содержимое записи.

Давайте создадим функцию, добавляющую в запись RSS миниатюру поста, а в добавок к ней так же добавляющую информацию о том, содержит ли этот пост аудио или видео, со ссылкой на пост, кликнув на которую, можно перейти на сайт и посмотреть мультимедийный контент. Для этого добавим в файл functions.php следующий код:

function featured_image_in_feed( $content ) {
	global $post;
	if( is_feed() ) {
		if( has_post_thumbnail( $post->ID ) ){
			$output = get_the_post_thumbnail( $post->ID, 'large', array( 'style' => 'margin: 0 0 20px 0;' ) );
			$content = $output . $content;
		}
		if( has_post_format( 'gallery' ) ) {
			$output = '

Этот пост содержит галерею изображений. ID ) . '">Посмотреть галерею на сайте.

'; $content = $output . $content; } if( has_post_format( 'video' ) ) { $output = '

Этот пост содержит видео. ID ) . '">Посмотреть видео на сайте.

'; $content = $output . $content; } if( has_post_format( 'audio' ) ) { $output = '

Этот пост содержит аудио. ID ) . '">Послушать аудио на сайте.

'; $content = $output . $content; } } return $content; } add_filter( 'the_content', 'featured_image_in_feed' );

Теперь если формат поста видео, аудио или галерея, то под содержимым записи в RSS будет появляться соответствующая подпись со ссылкой на пост, приглашающей к просмотру или прослушиванию. Это более информативнее, нежели чем получение пустой записи.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*