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

IP certifikace – co jednotlivé čísla znamenají

IP certifikace je pojem, s jehož značením se setkáme prakticky na každém kroku. Jednotlivé stupně krytí mají mobilní telefony, kamery, spínače světel či světla... [ pokračovat ve čtení ]

Skrytý správce pro optimalizaci uložiště v macOS

V operačním systému macOS je od verze Sierra k dispozici optimalizační utilita, která velmi usnadní a pomůže při uvolnění uložiště. Tato utilita může velmi... [ pokračovat ve čtení ]

Jak pozvolna měnit intenzitu jasu, hlasitost a podsvícení klávesnice

Snad každý uživatel MacBooku někdy měnil podsvícení displeje, hlasitost a nebo intenzitu podsvícení klávesnice klávesovými zkratky. Na MacBooku k tomu slouží klávesy F1, F2,... [ pokračovat ve čtení ]

Zrychlujeme macOS

Uživatelé, kteří vlastní starší MacBooky, hlavně modely Air mohou při aktualizaci na novější verze (hlavně El Capitan a novější) narazit na problém, kdy jejich... [ pokračovat ve čtení ]

Vyjímání, kopírování, vkládání a další běžné zkratky v macOS

V operačním systému macOS existuje velké množství zkratek, nyní se ale podíváme na ty nejběžnější, který by měl každý uživatel systému znát.

Klávesové zkratky v macOS – význam znaků

Operační systém macOS je plný klávesových zkratech. Pokud nějaká volba klávesovou zkratku má, například v horním panelu se zobrazují i klávesy, díky kterým tuto... [ pokračovat ve čtení ]

Jak zobrazit texty písní v Apple Music na Macku

Pokud vlastníte AppleTV, jistě jste si při poslechu hudby všimli jedné zajímavé věci, kterou jsou texty písní, které zobrazují přesně to, co slyšíte. Jde... [ pokračovat ve čtení ]

Jak podepsat soubor PDF bez nutnosti vytisknutí

Určitě to všichni znáte, čas od času vám dorazí důležitý PDF soubor, který je potřeba podepsat a odeslat zpět. Mnoho uživatelů tuto „rutinu“ řeší... [ pokračovat ve čtení ]

Hromadné přejmenování souborů ve Finderu

Hromadné přejmenování souborů je akce, která ve většině případů vyžaduje hodně času. Mnoho uživatelů všech operačních systému je velmi často přejmenovávají po jednom a... [ pokračovat ve čtení ]

Jak najít v MacBooku ty největší soubory

Určitě jste si někdy položili otázku, jak by se dali zobrazit ty největší soubory, které zabírají v MacBooku místo. Existuje pro toto vyhledávání mnoho... [ pokračovat ve čtení ]