Upraveno 6 prosince, 2023 00:12
Pokud spravujete blog na WordPressu, občas můžete chtít, aby se na úvodní stránce blogu zobrazovaly pouze články z určité kategorie a ostatní nikoliv. Nativně WordPress pro takové chování žádné nastavení nemá. Samozřejmě byste takové nastavení mohli vyřešit pluginem. Nicméně pokud chcete ušetřit místo i paměť, to samé lehce zvládnete snippetem. Pojďme se tedy podívat jak funguje snippet na zobrazení příspěvků z určité kategorie na homepage.
Snippet na zobrazení příspěvků z určité kategorie na homepage
Nejprve si pojďme ukázat konkrétní snippet. Poté si jej krátce probereme.
is_home() && $query->is_main_query()) {
$query->set('category_name', 'nazev_kategorie');
}
}
add_action('pre_get_posts', 'show_specific_category_posts');
?>
Tento snippet upravuje dotaz na příspěvky při načítání úvodní stránky (is_home()) a zajišťuje, že se zobrazí pouze příspěvky z určité kategorie.
Popis jednotlivých částí kódu:
- Funkce show_specific_category_posts: Jedná se o vlastní funkci, která přijímá jediný parametr $query, což je objekt dotazu, který WordPress používá pro načítání příspěvků.
- Podmínka if ($query->is_home() && $query->is_main_query()): Tato podmínka kontroluje, zda se jedná o úvodní stránku a zda jde o hlavní dotaz načítaný stránkou. To zajišťuje, že tato úprava dotazu se použije pouze na úvodní stránku.
- Metoda $query->set(‚category_name‘, ‚nazev_kategorie‘): Tato metoda slouží k nastavení parametru category_name v dotazu. V tomto případě se parametr nastavuje na konkrétní název kategorie, kterou chcete zobrazit. Místo ‚nazev_kategorie‚ musíte dosadit skutečný název požadované kategorie.
- Pokud chcete použít ID kategorie místo názvu, můžete použít metodu $query->set(‚cat‘, ‚ID_kategorie‘), kde ‚ID_kategorie‚ je číselná hodnota ID požadované kategorie.
- Funkce add_action(‚pre_get_posts‘, ‚show_specific_category_posts‘): Tato funkce registruje akci pre_get_posts a při jejím vyvolání spustí funkci show_specific_category_posts. Akce pre_get_posts se volá před provedením dotazu na příspěvky, umožňuje tak upravit dotaz před načítáním příspěvků.
Aby byl tento snippet funkční, musíte provést následující kroky:
- Nahraďte ‚nazev_kategorie‚ skutečným názvem kategorie, kterou chcete zobrazit. Můžete také použít ID kategorie pomocí metody $query->set(‚cat‘, ‚ID_kategorie‘).
- Přidejte tento kód do souboru functions.php ve vašem aktuálním WordPress tématu (šabloně vzhledu). Můžete použít editor souborů ve WordPress administraci, nebo přistupovat k souboru přes FTP.
Tímto způsobem bude úvodní stránka načítat příspěvky pouze z dané kategorie.
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í
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.
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.