Для поощрения своих постоянных читателей, владельцам блогов иногда нужно создавать записи только для своих 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«
На мой взгляд очень плохая функция. Во-первых мало кто читает интересные статьи полностью по рсс, обычно переходят из рсс по линку на саму статью. Во-вторых, более часто бывает нужно перечитать полезную статью. Например через несколько месяцев вспоминаешь что там-то было то-то и не плохо бы это что-то перечитать, а вот когда ничинаешь искать, то и возникают проблемы, ибо статья доступна только из рсс.
Да, минусы есть, именно поэтому я и не использую ее ;). Но наверняка найдутся те, кому она пригодится.
Думаю тут скорее демонстрация механизма фильтрации, так же легко сделать статью только для зарегистрированных, но вот про прописывание exclude это очень не удобно, надо думать над автоматизацией, а то добавил статью и полез сразу в код — это не дело
а зачем лезть каждый раз, мы ведь исключаем ID рубрики, а не записи. Просто нужна специальная рубрика, записи которой и будут удаляться
Мне неудобно и подписчикам тоже. Я побаловалась с этой функцией и вернула все на круги своя.
А есть у кого-нибудь статистика по своему сайту, действительно ли увеличилось количество подписчиков после введения такой опции? И если потом ее отменить, останутся ли подписчики? Если да, то можно ввести ссобщения «только для…» на пару недель, а потом отменить ради удобства.
Статистику не встречала, но думаю существующие rss-подписчики в любом случае никуда не денутся, а вот будет ли прирост не известно. Если решитесь провести эксперимент, поделитесь, пожалуйста результатами.
Любопытная фишка. Спасибо за наводку! Как раз прикидывал как сделать что-то подобное у себя на блоге. Штука на самом деле очень полезная. Во-первых, не стоит и сомневаться, что прирост читателей на rss-ленту будет. Любопытство и желание примкнуть к «кругу избранных» еще никто не отменял. Во-вторых, ссылка на спрятанную рубрику все равно будет существовать. Для подписчиков можно в самой rss-ленте предложить сохранить эту ссылку в браузере в качестве закладки. И никто никуда не потеряется.
Спасибо! Так теперь и делаю_)
Давайте рассмотрим способ улучшения работы рассылки новостей в WordPress. Если в вашем блоге уже имеются люди, подписавшиеся на ваш канал до того, как вы настроили ее трансляцию через Фидбернер, то они не будут учитываться счетчиком подписчиков этой системы, что обидно и досадно, особенно если таких подписчиков у вашей рассылки было много. Но выход есть. Здравствуйте, скажите а чем отличается канал feed от feed2 ? Да и ещё, сегодня написал 2 сообщения, а они почему-то не появились в ридере. С чем это может быть связано? Какой интервал времени между тем как было написано сообщение и тем когда оно будет отображено в ридере если пользоваться feedburner?