Jak vypnout zobrazování článků subkategorie v hlavní kategorii WordPressu

WordPress používá pro orientaci na webu dvě hlavní taxonomie. Články a stránky. Články se poté dále třídí do kategorií a případně i do subkategorií. Pro příklad, můžete mít kategorii „Automobily“ a k ní přiřazenou subkategorii „Dieselové“, „Benzínové“ a „Elektrické“. Problém nastává tehdy, když článek přiřadíte pouze do subkategorie. Zobrazuje se totiž nejenom v této subkategorii (Elektrické), ale také i v hlavní kategorii (Automobily). Obecně se tyto kategorie nazývají parrent a child. V principu to znamená, že pokud článek přiřadíte do subkategorie „Elektrické“, bude se zároveň zobrazovat i v hlavní kategorii automobily. Díky tomu bude tento článek na dvou místech. To není vždy žádoucí stav. V tomto článku se tedy podíváme na to, jak vypnout zobrazování článků subkategorie v hlavní kategorii WordPressu. To vše pomocí snippetu.

Jak vypnout zobrazování článků subkategorie v hlavní kategorii WordPressu

Na schématu vidíte, že pokud vytvoříte článek a přiřadíte mu kategorii Elektrické, zobrazí se nejen zde, ale také v hlavní kategorii Automobily. Je možné zařídit, aby se tento stav změnil a článek se zobrazil pouze a jenom v kategorii, kterou má opravdu přiřazenou? Ano, možné to je a dokonce to není ani výrazně složité.

Abychom pro tyto účely neinstalovali další plugin, použijeme snippet a oblíbený plugin WPCode, který by měl mít nainstalovaný každý, kdo chce upravovat vlastnosti a chování svého webu na WordPressu. Snippet není nic jiného, než krátký kód v PHP či jiném jazyce, který mění vlastnosti a chování webu.

Instalace pluginu WPCode

Abyste mohli vkládat kódy do svého webu, můžete zvolit dvě varianty. Kód vložíte natvrdo do souboru, kam patří, nebo použijete plugin, který bude části kódu vkládat do webu za běhu. Druhá variante je lepší z jednoho prostého důvodu. Je bezpečnější a zároveň se Vám kód nevymaže s každou aktualizací, která přepíše soubor s Vaším kódem.

Instalaci pluginu WPCode provedete následovně:

  •  klikněte si v levém menu na položku “Pluginy“
  • v podmenu zvolte položku “Přidat nový“
  • v pravém horním rohu si všimněte vyhledávacího pole
  • napište do něj klíčovou frázi WPCode
  • jakmile Vám WordPress plugin najde, nainstalujte jej a aktivujte.
  •  Pokud by Vás zajímal kompletní článek, kde popisuji práci s tímto pluginem, podívejte se sem: Jak do WordPressu vkládat vlastní kódy
Jak do WordPressu vkládat vlastní kódy

Jak vypnout zobrazování článků subkategorie v hlavní kategorii WordPressu pomocí snippetu

Pokud chcete vypnout zobrazování článků subkategorie v hlavní kategorii, použijte výše uvedený plugin WPCode a pomocí tohoto pluginu vložte do webu následující PHP kód:

				
					function wpse_filter_child_cats( $query ) {

if ( $query->is_category ) {
    $queried_object = get_queried_object();
    $child_cats = (array) get_term_children( $queried_object->term_id, 'category' );

    if ( ! $query->is_admin )
        //exclude the posts in child categories
        $query->set( 'category__not_in', array_merge( $child_cats ) );
    }

    return $query;
}
add_filter( 'pre_get_posts', 'wpse_filter_child_cats' );
				
			

Závěr

Jakmile do webu vložíte tento krátký kód a snippet uložíte a aktivujete, začnou se články zobrazovat pouze v kategoriích, ke kterým jsou přiřazené. V jiných, hlavních kategoriích se již tento článek nezobrazí.

Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.

Byl pro Vás tento článek užitečný?

Klikni na počet hvězd pro hlasování.

Průměrné hodnocení. 0 / 5. Počet hlasování: 0

Zatím nehodnoceno! Buďte první

Jak užitečný vidíte tento článek.

Sledujte mě na sociálních médiích.

Je mi líto, že pro Vás nebyl článek užitečný.

Jak mohu vylepšit článek?

Řekněte mi, jak jej mohu zlepšit.

newsletter

Odebírejte Newsletter

Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.  

Odebírat
Upozornit na
guest
0 Komentáře/ů
Nejstarší
Nejnovější Nejvíce hlasováno
Vložené zpětné vazby.
Zobrazit všechny komentáře.

Pokud mi chcete napsat rychlou zprávu, využije, prosím, níže uvedený
kontaktní formulář. Děkuji.

Další Kontaktní údaje