Rychlý tip pro publikační systém WordPress, která vám poradí, jak snadno zajistit, aby se obsah vybraných kategorií nezobrazoval v RSS kanálu.

Těžko říci, proč WordPress patří mezi nejvíce používané CMS na světě – podle posledních výzkumů má podíl kolem 66 % (na druhém místě je Joomla s podílem 10 % a Drupal s podílem 9 %), přičemž pro něj existuje více než 25 tisíc pluginů. Můj názor je ten, že je to hlavně díky tomu, že WordPress lze snadno nainstalovat na libovolný webhosting s podporou PHP a MySQL a že se velice jednoduše konfiguruje. Na druhou stranu, tato jednoduchost může být pro uživatele jistou komplikací, pokud od něj chcete něco, co nemá v základu implementováno (a že takových věcí existuje…) Na druhou stranu ale musím být férový a podotknout, že v mnoha případech se nejedná o nic, co by se nedalo snadno a rychle vyřešit pomocí externích pluginů. Ale protože jich existuje více než 25 tisíc, často je problém najít ten, který by dělal přesně to, co potřebuje a nic víc.

Před pár dny jsme předělávali náš web knihyFOTO.cz do WordPressu. Při implementaci jsme nenarazili na žádné velké problémy; ostatně, je to typický informační web, na který je WordPress přímo stvořený. Po nějaké době se ale objevil požadavek, aby se obsah určitých kategorií nezobrazoval v RSS kanálech. WordPress něco takového prostřednictvím administrace bohužel nastavit neumožňuje, takže jsem chvilku hledal a našel dvě řešení, se kterými se chci s vámi podělit. Není to samozřejmě nic objevného, pro zkušenější uživatele WordPressu popisovaná řešení pravděpodobně nebudou žádnou novinkou.

Vyjmutí kategorií z RSS bez pluginu

První řešení je funkční a jednoduché, pokud se nebojíte sáhnout do zdrojového kódu šablony. Spočívá v úpravě URL pro RSS kanál. Místo klasické URL:

http://example.com/feed

používejte pro RSS kanál URL adresu v následujícím tvaru:

http://example.com/feed?cat=-n

kde n je ID kategorie, kterou chcete z RSS kanálu odstranit. ID kategorie zjistíte třeba tak, že v sekci Příspěvky -> Rubriky dáte editovat požadovanou kategorii a podíváte se na URL adresu v prohlížeči. Parametr tag_ID pak obsahuje ID kategorie (tj. tag_ID=44 znamená, že kategorie, kterou právě editujete, má ID 44).

V praxi může URL pro RSS kanál vypadat takto:

http://example.com/feed?cat=-44

Pokud chcete vyjmout z RSS kanálů více kategorií, není to vůbec problém, dělá se to následujícím způsobem: :

http://example.com/feed?cat=-44&cat=-25

Tato krátká URL vede na RSS feed, který neobsahuje kategorie s ID 44 a 25.

Vyjmutí kategorií z RSS s pluginem

Ne každý samozřejmě se chce „špinit“ s editací kódu šablon, zvlášť když existuje rychlé a praktické řešení v podobě pluginu s názvem Ultimate Category Excluder od Michael Clarka. Ačkoliv plugin nebyl více než 2 roky aktualizován, na momentálně nejnovější verzi WordPressu 3.5.1 funguje bez problémů.

A jak se používá? Velice jednoduše. Poté, co jste daný plugin stáhli a aktivovali (ideálně přímo z administrace WordPressu, což je nejrychlejší způsob), jděte do Nastavení -> Category Exclusion, kde ve sloupci „Exclude from Feeds“ zatrhněte kategorie, jejichž obsah nechcete zobrazovat v RSS kanálů, viz obrázek.

Ultimate Category Excluder Options

Jak můžete vidět, plugin kromě toho umožňuje schovat i vybrané kategorie z úvodní stránky nebo ze stránek archivu. Jakmile vyberete kategorie a kliknete na tlačítko Update, po aktualizaci obsahu RSS kanálu (k tomu dochází například tehdy, když zveřejníte nový příspěvek nebo aktualizujete dřívější), vybrané kategorie již v něm nebudou obsaženy.

Žádný příspěvek v diskuzi

Odpovědět