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.