Flector

Как выводить записи в RSS до тега <!—more—>?

Запись в RSS до тега more

В WordPress уже очень давно выпилили возможность выводить в RSS текст записей до тега <!--more--> (тег "Далее" в визуальном редакторе), оставив для вывода лишь два варианта: "Полный текст" и "Анонс". При выводе в RSS полного текста записи вы рискуете тем, что подписчики будут читать ваши статьи в своей RSS-читалке, не переходя на ваш сайт. При выводе же анонсов весьма велика вероятность, что вы не сможете заинтересовать читателей, так как анонс это маленький огрызок текста с вырезанной разметкой (картинок в анонсе не будет). Вот и выходит, что наилучшим вариантом для всех будет вывод в RSS текста записи до тега <!--more-->.

Добавьте в файл functions.php вашей темы следующий код:

//вывод в rss записей до тега more start
function wph_more_feed($feed_type = null) {
    if (!$feed_type) $feed_type = get_default_feed();
    global $more;
    $more_restore = $more;
    $more = 0;
    $content = apply_filters('the_content', get_the_content());
    $more = $more_restore;
    $content = str_replace('(далее&hellip;)', 
	'<p style="text-align: right;">Читать дальше...</p>', $content);
    return $content;
}
add_filter('the_content_feed', 'wph_more_feed',1);
//вывод в rss записей до тега more end

В этом коде изменена и стилизована ссылка "Читать дальше" (она выводится справа и ниже текста записи). Если вас это не устраивает, то удалите соответствующие строчки из этого сниппета. По умолчанию анкором ссылки будет текст "(далее…)", а сама ссылка будет выведена впритык с текстом записи.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!