WordPress mimo tego, że jest system do prowadzenia blogów internetowych często jest też używany do prowadzenia stron firmowych albo prywatnych, na których niekoniecznie chcemy udostępniać kanał RSS, chociażby z powodu rzadkich aktualizacji.
Linki /feed/ dodawane są przez funkcję wp_head(), która najczęściej znajduje się w header.php (w zależności od szablonu). Można usunąć całe wp_head(), ale może się zdarzyć, że tym samym ograniczymy funkcjonalność WordPress’a, bo wyłączymy np. ładowanie jQuery, albo innych skryptów niezbędnych do działania pluginów.
Takie rozwiązanie zatem odpada.
Innym rozwiązaniem jest zmiana w pliku /wp-includes/feed.php i usunięcie (albo skomentowanie) linijki kodu odpowiedzialnej za feed:
function get_default_feed() {
//return apply_filters('default_feed', 'rss2');
}
To rozwiązanie ma z kolei taki mankament, że jeśli zaktualizujemy WordPress’a to plik feed.php również zostanie zaktualizowany i będziemy musieli ponownie wykonać powyższą operację usunięcia feed… a kto będzie o tym pamiętał? ;)
Dlatego zdecydowanie najlepszym rozwiązaniem jest znalezione przeze mnie po dobrych paru chwilach poszukiwań i sprawdzaniu różnych opcji – dodanie fragmentu kodu do pliku functions.php, który znajduje się w katalogu z naszym szablonem.
Wystarczy dodać coś takiego:
remove_action( 'wp_head', 'feed_links_extra', 3 ); // Wyświetla linki do dodatkowych feed (np. dla kategorii) remove_action( 'wp_head', 'feed_links', 2 ); // Wyświetla linki do głównych feed (wpisy i komentarze)
Dzięki temu rozwiązaniu pozbędziemy się niechcianych linków do feed’ów i w przyszłości nie będziemy musieli pamiętać o konieczności zmiany czegokolwiek po aktualizacji WordPressa.