Для поощрения своих постоянных читателей, владельцам блогов иногда нужно создавать записи только для своих RSS-подписчиков. В сегодняшней статье вы узнаете, как это сделать с помощью WordPress.
Первое, что вам нужно сделать – это создать специальную рубрику, записи которой будут доступны только для RSS-подписчиков. Предположим, вы создали новую рубрику «Только по RSS».
После создания рубрики, вам нужно будет узнать ее ID
. Это определяется очень просто, зайдите на страницу редактирования рубрики, и ее ID отобразится в адресной строке браузера.
Теперь, откройте файл вашей темы functions.php в любом редакторе. Если в вашей теме нет такого файла, создайте его. Добавьте следующий код в файл functions.php.
<?php function excludeCategory($query) { if($query->is_home | $query->is_archive ) $query->set('cat','-3'); return $query; } add_filter('pre_get_posts', 'excludeCategory'); ?>
pre_get_post
— это специальный фильтр WordPress, который запускается до получения записей из базы данных. С помощью этого фильтра, мы исключаем, указанную выше рубрику со всех страниц кроме RSS-ленты. Обратите внимание, что для исключения рубрики, используется знак минус, перед ID
.
Так что теперь, когда вы добавите запись в рубрику «Только по RSS», она не отобразится на главной странице, странице рубрики, в тегах или архивах; эта запись будет доступна только вашим RSS-подписчикам.
И наконец, если вы используете в своей теме функцию wp_list_categories()
, для отображения рубрик, вам необходимо передать параметр, исключающий нашу rss-рубрику из общего вывода.
wp_list_categories('exclude=3');
А если вдруг функция wp_list_categories
, уже имеет какие-то параметры, то добавить еще один, можно с помощью знака &.
wp_list_categories('show_count=1&exclude=3');
Вот так довольно просто, можно создавать статьи только для читателей RSS-ленты. Если вы знаете еще какие-то способы реализации такой задачи, расскажите о них.
Перевод статьи «Create Post Only For Your RSS Subscribers in WordPress«
Untit1ed says:
На мой взгляд очень плохая функция. Во-первых мало кто читает интересные статьи полностью по рсс, обычно переходят из рсс по линку на саму статью. Во-вторых, более часто бывает нужно перечитать полезную статью. Например через несколько месяцев вспоминаешь что там-то было то-то и не плохо бы это что-то перечитать, а вот когда ничинаешь искать, то и возникают проблемы, ибо статья доступна только из рсс.
03.11.2009 — 10:47
dreamhelg says:
Да, минусы есть, именно поэтому я и не использую ее ;). Но наверняка найдутся те, кому она пригодится.
03.11.2009 — 10:53
zar0ku1 says:
Думаю тут скорее демонстрация механизма фильтрации, так же легко сделать статью только для зарегистрированных, но вот про прописывание exclude это очень не удобно, надо думать над автоматизацией, а то добавил статью и полез сразу в код — это не дело
03.11.2009 — 14:38
dreamhelg says:
а зачем лезть каждый раз, мы ведь исключаем ID рубрики, а не записи. Просто нужна специальная рубрика, записи которой и будут удаляться
03.11.2009 — 14:40
Наталья says:
Мне неудобно и подписчикам тоже. Я побаловалась с этой функцией и вернула все на круги своя.
18.11.2009 — 13:44
Lenok says:
А есть у кого-нибудь статистика по своему сайту, действительно ли увеличилось количество подписчиков после введения такой опции? И если потом ее отменить, останутся ли подписчики? Если да, то можно ввести ссобщения «только для…» на пару недель, а потом отменить ради удобства.
25.11.2009 — 17:52
dreamhelg says:
Статистику не встречала, но думаю существующие rss-подписчики в любом случае никуда не денутся, а вот будет ли прирост не известно. Если решитесь провести эксперимент, поделитесь, пожалуйста результатами.
26.11.2009 — 08:12
Игорь Квентор says:
Любопытная фишка. Спасибо за наводку! Как раз прикидывал как сделать что-то подобное у себя на блоге. Штука на самом деле очень полезная. Во-первых, не стоит и сомневаться, что прирост читателей на rss-ленту будет. Любопытство и желание примкнуть к «кругу избранных» еще никто не отменял. Во-вторых, ссылка на спрятанную рубрику все равно будет существовать. Для подписчиков можно в самой rss-ленте предложить сохранить эту ссылку в браузере в качестве закладки. И никто никуда не потеряется.
18.12.2009 — 10:46
yaka says:
Спасибо! Так теперь и делаю_)
04.07.2011 — 23:31
spravocnikpolekarstvam.ru says:
Давайте рассмотрим способ улучшения работы рассылки новостей в WordPress. Если в вашем блоге уже имеются люди, подписавшиеся на ваш канал до того, как вы настроили ее трансляцию через Фидбернер, то они не будут учитываться счетчиком подписчиков этой системы, что обидно и досадно, особенно если таких подписчиков у вашей рассылки было много. Но выход есть. Здравствуйте, скажите а чем отличается канал feed от feed2 ? Да и ещё, сегодня написал 2 сообщения, а они почему-то не появились в ридере. С чем это может быть связано? Какой интервал времени между тем как было написано сообщение и тем когда оно будет отображено в ридере если пользоваться feedburner?
06.02.2017 — 01:55