Как удалить RSS комментариев или все RSS ленты

Как удалить RSS комментариев или все RSS ленты | n-wp.ru
Способ,позволяющий полностью отключить RSS в блоге, либо отключить все виды фидов, но оставить только один, главный адрес RSS блога.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

В последнее время все чаще встречаю блоги, в которых запрещены трансляции в RSS. Определенный резон в таком запрете есть — таким образом некоторые спасаются от воровства контента, которое некоторыми деятелями поставлено на поток. Некоторые блоггеры закрывают RSS, агитируя подписываться на трансляции в социальных сетях. Некоторым же просто не нужны RSS ленты, формируемые блогом, так как они используют Feedburner. Так как же полностью запретить RSS в блоге?

Как удалить RSS комментариев или все RSS ленты

Для начала нужно удалить из файла header.php все ссылки вида

</pre>
<p>Потом нужно добавить в файл functions.php:</p>
<pre>
function fb_disable_feed() {
wp_redirect(get_option('siteurl'));
}
 
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);
 
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );

Этот код полностью отключает все виды RSS в блоге, перенаправляя посетителей с адреса RSS ленты на главную страницу блога.

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

remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );
add_action('wp_head', 'my_feed_links');

function my_feed_links() {
  if ( !current_theme_supports('automatic-feed-links') ) return;
  ?>
  <link rel="alternate" type="" title="" href=" " />
  <?php 
}

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

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. Ruslan

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

    Ответить
    1. tiaurus автор

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

      Ответить