Для поощрения своих постоянных читателей, владельцам блогов иногда нужно создавать записи только для своих RSS-подписчиков. В сегодняшней статье вы узнаете, как это сделать с помощью WordPress.
Первое, что вам нужно сделать – это создать специальную рубрику, записи которой будут доступны только для RSS-подписчиков. Предположим, вы создали новую рубрику «Только по RSS».
После создания рубрики, вам нужно будет узнать ее ID
. Это определяется очень просто, зайдите на страницу редактирования рубрики, и ее ID отобразится в адресной строке браузера.
Теперь, откройте файл вашей темы functions.php в любом редакторе. Если в вашей теме нет такого файла, создайте его. Добавьте следующий код в файл functions.php.
[php]
<?php
function excludeCategory($query)
{
if($query->is_home | $query->is_archive )
$query->set(‘cat’,’-3′);
return $query;
}
add_filter(‘pre_get_posts’, ‘excludeCategory’);
?>
[/php]
pre_get_post
– это специальный фильтр WordPress, который запускается до получения записей из базы данных. С помощью этого фильтра, мы исключаем, указанную выше рубрику со всех страниц кроме RSS-ленты. Обратите внимание, что для исключения рубрики, используется знак минус, перед ID
.
Так что теперь, когда вы добавите запись в рубрику «Только по RSS», она не отобразится на главной странице, странице рубрики, в тегах или архивах; эта запись будет доступна только вашим RSS-подписчикам.
И наконец, если вы используете в своей теме функцию wp_list_categories()
, для отображения рубрик, вам необходимо передать параметр, исключающий нашу rss-рубрику из общего вывода.
[php]
wp_list_categories(‘exclude=3’);
[/php]
А если вдруг функция wp_list_categories
, уже имеет какие-то параметры, то добавить еще один, можно с помощью знака &.
[php]
wp_list_categories(‘show_count=1&exclude=3’);
[/php]
Вот так довольно просто, можно создавать статьи только для читателей RSS-ленты. Если вы знаете еще какие-то способы реализации такой задачи, расскажите о них.
Перевод статьи “Create Post Only For Your RSS Subscribers in WordPress“
Leave a Reply