n-wp.ru — блог о WordPress
Индивидуальная настройка RSS | n-wp.ru

Индивидуальная настройка RSS

Набор спиппетов, которые позволят вам внести индивидуальные настройки в RSS ленту блога.

Индивидуальная настройка RSS

Основным поставщиком новых записей для многих до сих пор является технология RSS, как бы Гугл с ней ни боролся. От того, как выглядит запись, получаемая по RSS, зависит, будет ли она интересна пользователю, перейдет ли он по ссылке, или нет. Давайте посмотрим, что мы можем сделать с представлением постов в RSS-ленте, не прибегая к помощи дополнительных плагинов.

Настройки чтения

Индивидуальная настройка RSS

В настройках чтения вы можете определить, в каком виде отдавать записи в RSS — в полном или сокращенном. Многие предпочитают отдавать в сокращенном виде, и на это есть несколько причин:

  • Сокращенный вариант защищает от автоматического копирования контента.
  • Сокращенный вариант побуждает к переходам на сайт.
  • В сокращенном варианте можно избежать ошибок оформления и использования дополнительных параметров (например, произвольных полей).
  • Сокращенный вариант создает меньшую нагрузку на хостинг.

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

Количество постов, попадающих в RSS

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

10 — это количество последних постов, отображаемых в RSS.

Добавление произвольных типов записей в RSS

По-умолчанию в RSS попадают только посты. Однако в современных блогах активно используются и другие типы записей, например, портфолио (portfolio), события (events). Если вы хотите, чтобы они тоже попадали в RSS, то добавьте в файл functions.php используемой вами темы этот код:

Теперь в RSS будут попадать не только стандартные посты, но и новые страницы, а так же записи portfolio и events.

Задержка публикаций в RSS

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

Добавление миниатюр в RSS

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

Если вы хотите добавлять миниатюру поста еще и в полное представление записи в RSS, добавьте еще одну строчку:

Исключение определенных категорий из RSS

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

10 и 12 — это ID категорий, посты из которых не должны попадать в RSS.

Исключение родительской категории и всех дочерних категорий из RSS

Иногда требуется исключить не просто определенную категорию, но и все дочерние категории, которые включены в нее. В этом случае код, вставляемый в файл functions.php, будет таким:

13 — это ID категории, которая будет исключена из RSS вместе со всеми дочерними категориями.

Вывод в RSS постов только из определенных категорий

Если вам легче указать, из каких категорий брать посты для RSS, а не составлять список категорий, которые нужно исключить, то используйте этот код:

3, 4, 5, 7 — это ID категорий, посты из которых нужно выводить в RSS. Посты из других категорий не будут попадать в RSS.

Исключение из RSS постов с определенным произвольным полем

Если вам нужно исключать из RSS посты, в которых задано определенное произвольное поле, то вставьте в functions.php этот код:

exclude_from_rss — это произвольное поле, которое имеет значение. Все посты с этим произвольным полем будут исключены из RSS.

Исключение из RSS постов с определенной меткой

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

345, 346, 347 — это ID меток, посты с которыми не попадут в RSS.

Исключение из RSS постов определенных форматов

WordPress позволяет публиковать посты определенных форматов. Если вы не хотите, что посты некоторых форматов попадали в RSS, то можете исключить их, добавив в functions.php:

Этот код исключает из RSS посты форматов статус (status), цитата (quote), ссылка (link) и заметка (aside).

Добавление в конце записи в RSS ссылки на блог

Если вы хотите, чтобы в конце краткой записи в RSS стояла ссылка на ваш блог, то добавьте в functions.php:

Вывод похожих постов в RSS

Если вы хотите, чтобы в конце каждой записи в RSS выводился список похожих постов, то добавьте в functions.php этот код:

Этот код выводит в конце каждой записи 5 похожих постов. Их похожесть определяется используемыми метками.

Вывод форматов постов в RSS

Не каждый RSS-ридер отображает мультимедийный контент, поэтому можно предупредить читателя, указав, какой формата пост он получил. Для этого можно добавить вывод формата поста в запись:

Вывод категории в названии поста в RSS

Чтобы в названии поста в RSS присутствовала категория, добавьте этот код в functions.php:

Отключение RSS комментариев

WordPress по-умолчанию создает RSS не только постов, но и комментариев. Если вы хотите отключить RSS комментариев, то добавьте в functions.php:

Отключение автоматических фидов

WordPress так же создает множество дополнительных фидов — для меток, категорий. Если вы не хотите раздавать их автоматически, то добавьте в functions.php:

Этот код убирает вообще все фиды, и выводит вместо них одну, главную RSS-ленту основных записей. В качестве примера взят адрес n-wp.ru, вместо него вы должны подставить адрес своего блога.

4 комментария

  • Вставка миниатюры не сработала вообще. Есть другие варианты?
    Вставка похожих постов сработала как вставка обычного текста ссылки (не активные ссылки).

  • Вывод похожих записей в RSS:

  • Вывод миниатюр в RSS:

    • Попробовал оба кода, но ничего не помогло. Может у меня тема какая то кривая, что код в ней не срабатывает?

/* ]]> */