Flector

Как добавить колонку «Миниатюры» в списке записей?

Колонка миниатюры в списке записей

С помощью данного сниппета вы можете добавить в список записей и страниц новую колонку "Миниатюры", в которой будут выводиться миниатюры записей. Таким образом вы легко можете найти запись без установленной миниатюры или быстро найти запись, у которой вы хотите поменять миниатюру. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//колонка "миниатюры" в списке записей и страниц start
function wph_columns_names($defaults){
    $defaults['wph_thumbs'] = 'Миниатюры';
    return $defaults;
}
function wph_add_thumbs($column_name, $id){
    if($column_name === 'wph_thumbs'){
        echo the_post_thumbnail(array(125,80));
    }
}
add_filter('manage_posts_columns', 'wph_columns_names', 5);
add_action('manage_posts_custom_column', 'wph_add_thumbs', 5, 2);
add_filter('manage_pages_columns', 'wph_columns_names', 5);
add_action('manage_pages_custom_column', 'wph_add_thumbs', 5, 2);
//колонка "миниатюры" в списке записей и страниц end

Поменяйте размеры миниатюр, если это будет необходимо (например, в случае, если ваша тема использует нестандартное соотношение сторон у миниатюр).


Комментарии (3 комментария)
  1. Valiko:

    Колонка слишком широкая получится, надо еще код добавить:

    function wph_css_for_thumbs() {
    echo '<style>
      .column-wph_thumbs {
        width: 12%;
      } 
     </style>';
    }
    add_action('admin_head', 'wph_css_for_thumbs');

    Тогда колонка будет такого же размера, как и другие колонки.

  2. Поправьте. Чтобы избежать дубликатов.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    	function wph_columns_names($defaults){
    		if ( !isset($defaults['wph_thumbs']) or empty($defaults['wph_thumbs']) )
    			$defaults['wph_thumbs'] = 'Миниатюры';
    		return $defaults;
    	}
    	function wph_add_thumbs($column_name, $id){
    		if($column_name === 'wph_thumbs'){
    			// the_post_thumbnail(array(125,80));
    			if ( !has_post_thumbnail() ) {
    				//функция нахождения первой картинки записи
    				echo "Image not set";
    			} else {
    				the_post_thumbnail();
    			}
    		}
    	}
Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!