Přidání Custom Post Types do nejnovějších příspěvků

Wordpress v základní instalaci nabízí několik základních widgetů, kterými lze oživit webové stránky. Jedním z nich je i widget, který zobrazuje nejnovější příspěvky. Zde na webu je použit a tak pokud jej neznáte, můžete si jej prohlédnout.

Widget se jednoduše vezme, přetáhne se na místo, na kterém jej chcete mít na webu, a od té doby tam zobrazuje vámi určený počet příspěvků. Základní problém tohoto widgetu je ten, že zobrazuje jen a pouze nejnovější příspěvky. Pokud ovšem využíváte Custom Post Types, jako je to zde na webu, tak může nastat komplikace.

wordpress-code

Našimi vlastními typy příspěvků jsou seriály, ty jsou řazeny zvlášť. U tohoto velmi často narazíte na problém. Nové vlastní typy příspěvků se v tomto widgetu nebudou zobrazovat, což je jistě veliká škoda a někdo by možná uvítal, aby tomu bylo jinak. Proto se pojďme podívat na to, co je zapotřebí pro to, aby se zobrazovalo vše tak, jak potřebujete.

Najdeme si třídu, která se jmenuje WP_Widget_Recent_posts, jde o rozšíření funkce WP_Widget. Tuto třídu najdete v souboru default-widgets.php, umístěného ve složce wp-includes. V této funkci je následující kus kódu:

$r = new WP_Query( apply_filters( 'widget_posts_args', array(

'posts_per_page' => $number,

'no_found_rows' => true,

'post_status' => 'publish',

'ignore_sticky_posts' => true

) ) );

Ten sám o sobě vypadá ne příliš přátelsky, protože tam není nic, co by indikovalo, co konkrétně jde vybrat a jak přidat to, co potřebujete. Naštěstí stačí přidat naprosto jednoduchý kód, který vypadá asi takto:

'post_type' => array('post','PHGame_serialy'),

Tedy výsledek se bude tvářit takto, když to do této části vložíte:

$r = new WP_Query( apply_filters( 'widget_posts_args', array(

'posts_per_page' => $number,

'no_found_rows' => true,

'post_status' => 'publish',

'post_type' => array('post','PHGame_serialy'),

'ignore_sticky_posts' => true

) ) );

Tímto docílíte toho, že se vám krom posledních příspěvků budou zobrazovat i vaše vlastní typy příspěvků, v našem případě to jsou PHGame_seriály. Tím ale editace nekončí. Pokud chcete nechat zobrazit jen příspěvky, nebo jen stránky či jen vaše vlastní typy příspěvků, stačí takto editovat pouze na váš vlastní typ a rázem máte z nejnovějších příspěvků třeba nejnovější stránky.

Nevýhodou tohoto řešení je fakt, že pokud budete aktualizovat WordPress, o tuto editaci s největší pravděpodobností přijdete. Nejlepším a i nejsprávnějším řešením je zkopírování celé třídy WP_Widget_Recent_posts a vytvoření její kopie v nějakém pluginu, který používáte. Zde by bylo dobré lehce přejmenovat některé věci, jako je třeba název třídy. Ono by si to totiž jinak PHP mohlo vyložit jako provokaci, že máte dvě identické třídy a na důkaz jeho lásky k vám, vyhodit fatal error. Další věc, kterou by bylo dobré změnit, je název. Aby se dala editovat tato třída, kterou jste vytvořili ve widgetech. A hlavně abyste ji poznali od té původní z WordPressu. Zbytek zůstává stejný. Výhoda této změny je ta, že funkci máte ve vlastním widgetu. Nemanipulujete se soubory WordPressu, a tak je možné WordPress pohodlně aktualizovat beze ztráty této změny.

Jediný rozdíl bude, že budete muset ještě navíc přidat add_action s parametrem widgets_init a vytvořit funkci, která bude obsahovat funkci register_widget, protože bez toho se tato funkce nespustí.





Další články

Kategorie UTP kabelu a jejich specifikace

Nestíněný kabel „Twisted Pair“ známý pod označením UTP je zcela jistě nejpopulárnějším kabelem na světě. Kabel UTP se používá nejen k připojení zařízení do... [ pokračovat ve čtení ]

Jak přenastavit WordPress na HTTPS protokol

Důvod, pro používat na webových stránkách HTTPS protokol místo nezabezpečeného HTTP může být mnoho. Jde to od zabezpečení přenesených dat až k SEO nebo... [ pokračovat ve čtení ]

Přidání editoru Gutenberg do vlastních typů příspěvků ve WordPressu

Pokud používáte nějakou dobu Wordpress, určitě jste se setkali s vlastními typy příspěvků. Hodně majitelů webu se pro ně rozhodli, protože standardní příspěvky jsou... [ pokračovat ve čtení ]

Internet jde velmi pomalu či téměř nejde

Internetové připojení má v dnešní době téměř každá domácnost. Výhody internetu jistě nemusíme představovat, nicméně i internetové připojení může mít řadu problému. Nejčastějším problémem... [ pokračovat ve čtení ]

Vypadává WiFi síť

WiFi má v domácnosti snad každý uživatel, který vlastní nějaké to chytré zařízení, notebook či cokoliv dalšího. Proto dokáže být celkem nepříjemné, když toto... [ pokračovat ve čtení ]

Měníme IP adresu v příkazové řádce Windows a Linux Terminálu

Změna IP adresy se může občas hodit. A ne vždy je k dispozici grafické prostředí. To se sice týká spíše Linux uživatelů, nicméně i... [ pokračovat ve čtení ]

Hledáme soubory přes příkazovou řádku Windows a terminál Linuxu

Sami jste se s tím nejspíše někdy také setkali. Potřebujete najít nějaký soubor v počítači ale nevíte, kam jste ho uložili. Možností jak něco... [ pokračovat ve čtení ]

ASCII tabulka

ASCII tabulka je kódová tabulka, která definuje standardní znaky anglické abecedy a další znaky používané v informatice. Zkratka vychází z anglického American Standard Code... [ pokračovat ve čtení ]

Mažeme mezipaměť DNS

Vymazání mezipaměti DNS nepatří k činnostem, co by jsme potřebovali každý den. Jsou ale chvíle, kdy se to hodí a tuto operaci je potřeba... [ pokračovat ve čtení ]

Linux terminál – slučujeme PDF soubory do jednoho

Soubory PDF jsou velmi oblíbené a jejich tisk může v případě většího množství souborů udělat vrásky na čele nejednomu uživateli. Jak je ale jednoduše... [ pokračovat ve čtení ]