Google

Полное удаление фидов в WordPress

Дата публикации:Сентябрь 3, 2011

Я не могу указать на большое количество причин, по которым вы можете задуматься над тем, чтобы удалить свои фиды, однако с одной из таких причин я недавно столкнулся при обслуживании клиентского сайта. Клиент попросил меня, чтобы я создал приватный WordPress сайт, доступный только для платных участников. С помощью программного обеспечения Amember я сделал жизнеспособный сайт, однако, чтобы в действительности скрыть весь контент от посторонних людей, мне пришлось отключить RSS каналы, поскольку через них любой человек может получить весь контент.

Как я это сделал? Очень просто: я написал отдельную функцию, которая скрывала бы все RSS-фиды. Эта функция учитывает различные версии каналов, которые поддерживаются в WordPress: RSS, RDF и Atom. Таким образом, все, что вы должны сделать, это добавить в файл functions.php следующий фрагмент кода (а еще лучше — создать отдельный функциональный плагин):

function disable_all_feeds() {
   wp_die( __('Sorry, our content is not available by RSS. Please head over to <a href="'. get_bloginfo('url') .'">our site</a>') );
}

add_action('do_feed', 'disable_all_feeds', 1);
add_action('do_feed_rdf', 'disable_all_feeds', 1);
add_action('do_feed_rss', 'disable_all_feeds', 1);
add_action('do_feed_rss2', 'disable_all_feeds', 1);
add_action('do_feed_atom', 'disable_all_feeds', 1); 

http://www.doitwithwp.com/completely-remove-rss-feeds-in-wordpress/

Связанные материалы:

  1. Удаление комментариев из WordPress
  2. Удаление Nofollow в комментариях с помощью простой функции
  3. Отображение RSS фидов
  4. Подсветка записей в зависимости от их статуса в панели администратора WordPress
  5. Установка favicon для области администратора и WordPress сайта

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

  1. HotIce says:

    О! Спасибо. Утащу-ка я в копилку. На сегодня жадность успокоена. ;)
    Спасибо, может пригодиться. Меня как-то интересовал вопрос, как это сделать, да то ли ленивый был, то ли невнимательный. Скорее все синхронно было, а тут все красиво..

    • Architect Of Ruin says:

      Рад, что помогло! Может, заодно и подскажешь, для каких еще целей сия функция может быть полезна? Чтобы контент не перли? Его и так могут спереть при особом желании..

  2. HotIce says:

    Именно для этого я и искал подобное. Но вот подобного решения не видел, все извраты через ковыряние кода движка, а вот через заглушки не нашел тогда. Я у себя тестировал задержку отправки в фид нового поста, это на случай автоматического парсинга ленты врагами. Функция на столько же строк. Смысл — заинтересованные поисковики успевают все захавать. Ее потом и оставил.
    Для чего еще? А просто чтоб не лезли, а чтоб нагрузку на хостинг снижать, да мало ли.. Я вот не очень люблю, к примеру, чтоб информация расходилась путями, которые я не контролирую.
    А так видишь, как удачно — бац, и такое лекарство для моих тараканов. ;) Пригодится может, потому и спасибо. Кстати, чтоб не плодить сущности, и за предыдeщий пост — также сенкс. Оно мне не надо, но информация полезная. И на каждом шагу не валяется. А так как, придти и сказать «спасибо, может пригодиться» и отвалить, на мой взгляд не самое комильфо, то все же скажу спасибо с оказией. ;)

  3. Еще не мешало бы удалить ссылки на фиды в head:

    remove_action( ‘wp_head’, ‘feed_links_extra’, 3 );
    remove_action( ‘wp_head’, ‘feed_links’, 2 );

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*


Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.