Protože se pod posledním článkem objevila diskuze a dotaz, jak vložit sloupec s informacemi do výpisu článků v administraci, ukážeme si dnes, jak je to jednoduché. Nejprve však musím zareagovat na jednoho z diskutujících.
Ano pluginy na to jsou a všechno si naklikáte. Jenže když budete všechno klikat pomocí pluginů, tak se naučíte právě jen to – klikat.
Navíc pluginy sebou přinášejí spoustu kódu navíc, který obsahuje různá nastavení, jenž třeba ani nevyužijete. A pokud potřebujete rychlé a jednoduché řešení, jsou dvě funkce vložené do functions.php, to pravé.
Nyní k návodu. Postup si ukážeme na náhledovém obrázku, který vložíme na začátek řádku tabulky.
Použijeme tuto funkci
add_filter('manage_posts_columns', 'musilda_thumb_column'); function musilda_thumb_column($columns) { $new_columns = array(); foreach($columns as $key => $item){ $new_columns[$key] = $item; if($key == 'cb'){ $new_columns['thumb'] = __('Náhled','domain'); } } return $new_columns; } |
Funkce je jednoduchá, ale musím vysvětlit, proč se prochází celým polem a znovu se generuje. Když totiž pole „nepřerovnáte“, tak se $columns[‚thumb‘] = __(‚Náhled‘,’domain‘); vloží na konec a náhledový obrázek bude na konci řádku. Proto jej umístíme hned za checkbox, který má id „cb“.
Druhá funkce je
add_filter('manage_posts_custom_column', 'manage_musilda_thumb_column', 10, 2); function manage_musilda_thumb_column($column_name, $post_id) { global $post; if( $column_name == 'thumb' ) { echo the_post_thumbnail(array(100,100)); } } |
Ta jen zajistí výpis toho co potřebujeme. Pokud tam budeme chtít mít custom field, ve funkci místo the_post_thumbnail bude nějaké get_post_meta. Záleží jen na vás.
Stěmi pluginy a učením se klikat plně souhlasím. Systém zahlcený pluginy, u kterých člověk pomalu neví, co všechno dělají a jak jsou bezpečné, to je grrrr, navíc to prodlužuje zbytečně načítání webu.
Na druhou stranu je potřeba si uvědomit, že web je živé médium a čas od času dojde na potřebu změnit design. V tu chvíli, vše co je ve functions, je v trapu a je potřeba na to myslet.
Proto není od věci, pokud víte, že grafiku sem tam na wordrpessu obměníte, takový postup strčit právě do svého pluginu. Není to o nic těžší, přibudet jen pár řádků kódu navíc, a v budoucnu nebude žádný problém přejít na jiný design
Že já ten plugin vůbec zmiňoval, a ještě použil to zprofanované „naklikání“ :-D Tazatel nenapsal, že chce programátorský způsob, tak jsem mu odpověděl, jak nejrychleji jeho problém řešit. U onoho pluginu mám také rád, že si může člověk táhlem nastavit i šířku sloupečků, což mě také naštve – přidám sloupec s ID, a WP ho automaticky roztáhne na 20% šířky stránky, ař mu stačí 5% … a to už je další kód do functions.php nastavující CSS direktivy pro daný sloupec, atd…
Samozřejmě jsem také zastánce minima pluginů a „lehkého“ webu, na druhou stranu také nerad do functions.php cpu desítky všemožných kódů starajících se o všechno možné – působí to na mě dojmem „bordelu“. Ale od toho functions.php asi je :)
Vlastní plugin by tohle také řešil, ostatně sem tam dělám něco podobného – všechny tyto úpravy si dávám do svého souboru functions-custom.php, a do functions.php jen doplním „include“ rádek. Pak není problém si tenhle soubor snadno přenést do jiného vzhledu a hned mít své oblíbené funkce po ruce.
Taky řešení :) Jen je na to potřeba myslet