Czasem 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?