Adward
@Adward
Вебмастер с 2001 года

Как перехватить и перепарсить rss в вордпрессе?

У меня на сайте закралось пару пробелов (или даже три) в rss-фид (в самом начале, перевод строки): tatar-congress.org/ru/feed

c8f4aec94c5346038e207d0a36cab36f.jpg

Из-за этого некоторые трансляторы в соцсети не принимают такой файл. Браузеры Опера и Сафари "нормально кушают" такой поток. ИЕ ругается:

03c74a0f97ad4ca8ab3668db51152a62.jpg

Edge пытается скачать этот файл. Хром открывает ни смотря ни на что. Транслятор novapress.com не принимает и не ругается. Их саппорт предлагает найти программиста....

Я уже всё перерыл, что мог, что знал и не знал... Не могу найти траблу.

Хотелось бы спросить - не существуют ли каких либо альтернативных способов отдавать rss-фид (каких-нибудь хуков там, например, или фильтров).

К слову сказать, я использовал следующий кусок кода в functions.php, который к постам прилепляет миниатюры, и очищает контент записи от вложенных галерей:

function thumbs_in_rss($content) {
	global $post;
	if(has_post_thumbnail($post->ID)){
		$thumb = get_the_post_thumbnail( $post->ID, 'full' );
		$content = preg_replace("/<img[^>]+\>/i", "", $content);
		$content = $thumb . $content;
	}
	//return $content;
	return mb_convert_encoding($content, 'utf-8', mb_detect_encoding($content));
}
add_filter('the_excerpt_rss', 'thumbs_in_rss');
add_filter('the_content_feed', 'thumbs_in_rss');


но и закомментировав его - проблема не исчезла.
Попробовал полностью отключить все плагины. проверил после этого - проблема не исчезла.

Предполагаю, что скорее всего, может быть какой то хук, которому можно скормить rss-поток перед выводом, который, в свою очередь, отдаст на клиента дополненный (или скорее исправленный) rss. Но откуда его взять или как его написать самому - я не знаю.

Понять не могу, как быть. Хелпми, многоуважаемый All.
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 1
Adward
@Adward Автор вопроса
Вебмастер с 2001 года
Вопрос снят.

Оказывается, всё дело в том, что в одном из приинклуденных (через functions.php) файлов было пару переводов картеки между php-блоками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы