Вывод в RSS полных заголовков из SEO плагинов
WordPress формирует RSS ленту блога, используя "родные" заголовки записей. То есть, если вы используете какой-то из плагинов, формирующих титлы страниц, то такие сформированные титлы использоваться при создании RSS ленты не будут. Зачастую, на это можно не обращать внимания, но иногда возникает необходимость отдать в RSS полный текст заголовка, который вы прописали в одном из SEO плагинов вроде
1. Хак при использовании плагина All in One SEO Pack.
Откройте файл "wp-includes\feed-rss2.php" и найдите строчку:
36 | <title><?php the_title_rss() ?></title> |
Замените ее на код:
36 37 38 39 | <title><?php $rsstitle = htmlspecialchars(stripcslashes( get_post_meta($post->ID, '_aioseop_title', true))); if ($rsstitle=="") {the_title_rss();} else {echo $rsstitle;} ?></title> |
Данный код проверяет, есть ли свой заголовок у записи, прописанный через плагин. Если нет, то будет использоваться обычный заголовок, а вот если да, то в RSS ленту попадет именно титл, указанный вами вручную. Сразу скажу - такой код поможет вам только, если вы сами указываете титл записи. То есть никаких дополнений вроде названия блога через разделитель вы тут не увидите. Хотя вы можете сами добавить нужный код в хак.
2. Хак при использовании плагина Seo Title Tag.
Откройте файл "wp-includes\feed-rss2.php" и найдите строчку:
36 | <title><?php the_title_rss() ?></title> |
Замените ее на код:
36 37 38 39 | <title><?php $rsstitle = htmlspecialchars(stripcslashes( get_post_meta($post->ID, 'title_tag', true))); if ($rsstitle=="") {the_title_rss();} else {echo $rsstitle;} ?></title> |
Код, по сути, аналогичен предыдущему. Изменилось лишь название кастомного поля, используемого плагином для хранения титла записи. Для других SEO плагинов, формирующих заголовки хак будет идентичен, вам лишь надо будет узнать используемое этим плагином кастомное поле.
Оценить изменение RSS ленты после использования этого хака вы можете на примере этого блога. Последние записи в блоге имеют заголовки по умолчанию в виде одного только названия плагина, а вот в RSS ленте эти заголовки заменены на титлы, которые я прописывал вручную через плагин Seo Title Tag.
Понравился пост? Подпишись на обновления по RSS или Twitter !
#21,
шаблон дописывает в RSS некорректный код? не видя шаблона тут даже приблизительно нельзя ответить.