668 145 480 info@jacekjagusiak.pl

WordPress domyślnie udostępnia kanał RSS, który zawiera wszystkie opublikowane wpisy. To bardzo przydatna funkcjonalność – użytkownicy mogą subskrybować nowe treści za pomocą czytników RSS, a agregatory i usługi zewnętrzne mogą automatycznie śledzić i publikować Twoje wpisy. Jednak w niektórych przypadkach może zajść potrzeba wykluczenia określonej kategorii z kanału RSS – np. jeśli tworzysz wpisy „informacyjne” lub „testowe”, które nie są przeznaczone dla ogółu odbiorców.

Takie działanie może być również przydatne, gdy prowadzisz bloga wielotematycznego i chcesz ograniczyć kanał RSS tylko do konkretnej części treści (np. tylko artykuły „techniczne”, bez kategorii „ogłoszenia” czy „aktualności”).

Na szczęście WordPress pozwala na stosunkowo proste filtrowanie zawartości feedu, zarówno przy użyciu prostych linków, jak i przy pomocy kodu PHP. Poniżej znajdziesz dokładne instrukcje, jak to zrobić.

Jak wykluczyć kategorię z RSS w WordPressie?

1. Wykluczenie kategorii za pomocą filtru w functions.php

Najbardziej uniwersalną metodą jest dodanie odpowiedniego fragmentu kodu PHP do pliku functions.php Twojego motywu (lub motywu potomnego). Oto przykładowy kod:

function exclude_category_from_rss($query) {
    if ($query->is_feed && $query->is_main_query()) {
        $query->set('cat', '-12'); // zamień 12 na ID kategorii, którą chcesz wykluczyć
    }
}
add_action('pre_get_posts', 'exclude_category_from_rss');

Co robi ten kod?

  • Funkcja sprawdza, czy zapytanie dotyczy kanału RSS ($query->is_feed).
  • Jeśli tak – ustawia filtr kategorii cat, z wartością ujemną (-12), co oznacza wykluczenie tej kategorii.
  • Możesz wykluczyć wiele kategorii, rozdzielając ich ID przecinkami, np. -12,-34.

Jak znaleźć ID kategorii?

Przejdź w kokpicie WordPressa do:
Wpisy → Kategorie → najedź myszką na nazwę kategorii, a w pasku przeglądarki zobaczysz adres URL z parametrem tag_ID=12. Ta liczba to właśnie ID kategorii.

Sprawdź także:  Usunięcie aliasu kategorii (category) z adresu URL w Wordpressie

2. Wykluczenie kategorii w adresie URL kanału RSS

WordPress pozwala również na tworzenie feedów dedykowanych dla konkretnej kategorii, lub ich wykluczania – choć wymaga to nieco „obejścia”.

Jeśli chcesz stworzyć kanał RSS bez jednej kategorii, możesz zastosować zewnętrzny plugin (np. „Category Specific RSS Feed Subscription”) lub korzystać z odrębnego feedu i ukrywać go np. w menu lub dla zewnętrznych integracji.

Uwaga na błędy

  • Nie edytuj functions.php bezpośrednio w panelu WP – najlepiej przez FTP lub SFTP, bo błąd może zablokować dostęp do witryny.
  • Sprawdź, czy Twój motyw nie ma już zdefiniowanych funkcji filtrujących zapytania – niechcący możesz nadpisać inną logikę.

Alternatywne rozwiązania

  • Pluginy SEO, takie jak RankMath lub Yoast SEO, pozwalają czasem na kontrolę zawartości feedów.
  • Możesz utworzyć dedykowany feed tylko z wybranych kategorii i promować go zamiast głównego:
    • Przykładowy adres RSS tylko dla kategorii o ID 5:
      https://twojadomena.pl/?cat=5&feed=rss2

Podsumowanie

Wykluczanie konkretnej kategorii z kanału RSS WordPressa to częsty zabieg stosowany przez właścicieli blogów, którzy chcą dostosować zawartość kanału do odbiorców. Najprostszą i najskuteczniejszą metodą jest zastosowanie filtra w functions.php, który automatycznie wykluczy wskazane kategorie z kanału RSS.

To rozwiązanie jest elastyczne, działa niezależnie od motywu i nie wymaga instalowania dodatkowych wtyczek. Jednak jak zawsze przy ingerencji w pliki motywu, warto zachować ostrożność i przed edycją wykonać kopię zapasową.

Jeśli zależy Ci na pełnej kontroli nad kanałami RSS – rozważ również użycie dedykowanych feedów dla kategorii lub skorzystanie z bardziej zaawansowanych pluginów.

Sprawdź także:  Jak dodać reCAPTCHA do formularza WordPress?

Chcesz, abym przygotował podobny poradnik dla tagów lub niestandardowych taksonomii? Daj znać!

Spis treści