NoRSSCzasem buduje się strony oparte na WordPress albo Joomla!, ze względu na możliwości tych CMSów, ale bez konieczności powiadamiania świata o wszystkich modyfikacjach RSSem.

Przy jednej z moich stron pojawił się następujący problem:

Jak wyłączyć RSS, feed i inne takie pod WordPressem?

W sieci można przeczytać różne sztuczki o usuwaniu obrazka RSS (!) – tylko co to da? Przecież można zawsze wpisać adres z końcówką /rss albo /feed. Inni mądrzy radzili usunąć (!) wszystkie pliki w katalogu WP, które mają w nazwie rss albo feed :)

Jak widać są to podejścia do problemu w stylu metody sławnego radzieckiego naukowca – prof. Nachamowa. Jednak napisano kiedyś: „szukajcie a znajdziecie”, co w wolnym tłumaczeniu oznacza, że istnieją też bardziej eleganckie metody…

Najprostsza to modyfikacja polegająca na dodaniu własnej funkcji wyłapującej wszelki dostęp do RSS, w stosowanym przez nas szablonie .

A robimy to tak: odnajdujemy i modyfikujemy plik functions.php dodając do niego poniższy kod:

function disable_our_feeds() {
wp_die( __('Błąd: Brak RSSów Feedów i innych takich! 
Zapraszam na Stronę główną serwisu.') );
}
 
add_action('do_feed', 'disable_our_feeds', 1);
add_action('do_feed_rdf', 'disable_our_feeds', 1);
add_action('do_feed_rss', 'disable_our_feeds', 1);
add_action('do_feed_rss2', 'disable_our_feeds', 1);
add_action('do_feed_atom', 'disable_our_feeds', 1);

Modyfikację można wykonać:

  • z poziomu administracji WordPress: Wygląd -> Edytor -> Funkcje motywu graficznego (functions.php)
  • od strony serwera: /wp-content/themes/TWÓJ_SZABLON/functions.php

Rozwiązanie znalazła dla mnie Gosia na stronie Hakuna Matata.

A jak Wy radzicie sobie z wyłączaniem RSSa, czy może nigdy nie mieliście takiej potrzeby?