Колонка с изображением записи в списке записей админ-панели

22 авг. 2013 г., 15:10:48
Просмотры: 20.8K
Голосов: 10

У меня есть сайт клиента, который принимает изображения от пользователей в виде записей. Для модерации мы открываем каждый черновик записи, что очевидно занимает много времени, если нужно модерировать большое количество изображений.

Есть ли способ показать изображения записей в виде колонки на странице списка записей в админ-панели?

0
Все ответы на вопрос 4
10
14

Используйте этот хук для добавления пользовательской колонки в список записей/страниц в админке.

add_filter('manage_posts_columns', 'add_img_column');
add_filter('manage_posts_custom_column', 'manage_img_column', 10, 2);

function add_img_column($columns) {
    $columns['img'] = 'Миниатюра';
    return $columns;
}

function manage_img_column($column_name, $post_id) {
    if( $column_name == 'img' ) {
        echo get_the_post_thumbnail($post_id, 'thumbnail');
    }
    return $column_name;
}

Поместите этот код в ваш файл functions.php

22 авг. 2013 г. 15:58:25
Комментарии

нечего отображать

busyjax busyjax
22 авг. 2013 г. 19:20:10

Вы уверены, что в вашей записи есть изображение записи? Можете показать скриншот? Этот код у меня работает нормально.

Mangesh Parte Mangesh Parte
22 авг. 2013 г. 21:22:05

http://i.imgur.com/UM67XYl.jpg вот он

busyjax busyjax
22 авг. 2013 г. 21:41:21

Я просил вас показать скриншот миниатюры записи в одиночной публикации. Где вы её загрузили? Например: http://mervin.info/wp-content/uploads/2012/03/screenshot-1-300x209.png

Mangesh Parte Mangesh Parte
22 авг. 2013 г. 23:49:10

на самом деле, проблема была в плагине

busyjax busyjax
25 авг. 2013 г. 13:28:36

Мне пришлось изменить вторую функцию на следующую: echo get_the_post_thumbnail($post_id, 'thumbnail'); return true;

PNMG PNMG
9 июн. 2014 г. 22:39:12

Нужно, чтобы вторая функция выводила (echo), а не возвращала (return) изображение.

Jake Jake
11 авг. 2017 г. 18:22:51

@busyjax не могли бы вы подробнее объяснить? В чем была проблема и как вы её решили?

Peter Kionga-Kamau Peter Kionga-Kamau
13 мар. 2019 г. 00:00:15

Хотел отображать колонку с миниатюрами изображений, которые являются featured images постов, чтобы можно было легко модерировать записи прямо со страницы постов в админке, без необходимости открывать каждый пост для редактирования.

busyjax busyjax
15 мар. 2019 г. 11:29:36

Это работает идеально, лучше чем ответ jnthnclrk, который тоже работает, но удаляет остальные столбцы, тогда как этот сохраняет их. Спасибо, друг...

Rodrigo Zuluaga Rodrigo Zuluaga
5 апр. 2019 г. 23:49:26
Показать остальные 5 комментариев
0
13

Вот что я использую, собранное из фрагментов найденных в интернете... Используется фильтр для manage_posts_colummns для изменения заголовков и действие manage_posts_custom_column для добавления данных на уровне строк.

function custom_columns( $columns ) {
    $columns = array(
        'cb' => '<input type="checkbox" />',
        'featured_image' => 'Изображение',
        'title' => 'Заголовок',
        'comments' => '<span class="vers"><div title="Комментарии" class="comment-grey-bubble"></div></span>',
        'date' => 'Дата'
     );
    return $columns;
}
add_filter('manage_posts_columns' , 'custom_columns');

function custom_columns_data( $column, $post_id ) {
    switch ( $column ) {
    case 'featured_image':
        the_post_thumbnail( 'thumbnail' );
        break;
    }
}
add_action( 'manage_posts_custom_column' , 'custom_columns_data', 10, 2 ); 

Вы также можете использовать это для пользовательских типов записей, применяя фильтр к manage_CPTNAME_posts_columns.

22 авг. 2013 г. 15:41:28
2

На основе кода @Mangesh Parte вы можете выводить миниатюру записи в первом столбце, перед заголовком.

// Добавляем фильтры для управления колонками в списке записей
add_filter('manage_posts_columns', 'add_img_column');
add_filter('manage_posts_custom_column', 'manage_img_column', 10, 2);

// Функция добавления колонки с изображением
function add_img_column($columns) {
  // Вставляем новую колонку "Featured Image" после первой колонки
  $columns = array_slice($columns, 0, 1, true) + array("img" => "Миниатюра") + array_slice($columns, 1, count($columns) - 1, true);
  return $columns;
}

// Функция вывода миниатюры в колонке
function manage_img_column($column_name, $post_id) {
 if( $column_name == 'img' ) {
  // Выводим миниатюру записи с размером 'thumbnail'
  echo get_the_post_thumbnail($post_id, 'thumbnail');
 }
 return $column_name;
}
7 авг. 2018 г. 16:30:50
Комментарии

Чувак, спасибо, это действительно хорошая реализация.

Rodrigo Zuluaga Rodrigo Zuluaga
5 апр. 2019 г. 23:52:15

Привет, Otinane, есть ли возможность применить это только к "Записям" и не к остальным пользовательским типам записей?

Rodrigo Zuluaga Rodrigo Zuluaga
17 апр. 2019 г. 03:04:22
0

Этот код демонстрирует, как добавить колонку с миниатюрой записи для пользовательского типа записей (CPT) 'books'. В первой строке замените слово 'books' на ярлык вашего пользовательского типа записей.

add_filter('manage_books_posts_columns', 'add_img_column');
add_filter('manage_posts_custom_column', 'manage_img_column', 10, 2);
function add_img_column($columns) {
    $columns = array_slice($columns, 0, 1, true) + array("img" => "Миниатюра") + array_slice($columns, 1, count($columns) - 1, true);
    return $columns;
}

function manage_img_column($column_name, $post_id) {
    if( $column_name == 'img' ) {
        echo get_the_post_thumbnail($post_id, 'thumbnail');
    }
    return $column_name;
}

Подробнее об этом можно узнать по ссылке https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column

12 авг. 2020 г. 14:08:15