manage_media_columns
Позволяет изменить список зарегистрированных колонок в таблице Медиа.
Заполнить данными свою колонку можно на хуке manage_media_custom_column.
Использование
add_filter( 'manage_media_columns', 'wp_kama_manage_media_columns_filter', 10, 2 ); /** * Function for `manage_media_columns` filter-hook. * * @param string[] $posts_columns An array of columns displayed in the Media list table. * @param bool $detached Whether the list table contains media not attached to any posts. * * @return string[] */ function wp_kama_manage_media_columns_filter( $posts_columns, $detached ){ // filter... return $posts_columns; }
- $posts_columns(массив)
- Список колонок в виде массиве, где ключ ячейки - имя колонки, а её значение - заголовок колонки.
- $detached(true/false)
- Содержит ли таблица медиафайлы (вложения), не прикрепленные к записям.
По умолчанию: true
Примеры
#1 Добавим колонку с ID вложений
<?php add_filter( 'manage_media_columns', 'add_my_column_in_media_table' ); add_action( 'manage_media_custom_column', 'fill_my_column_in_media_table', 10, 2 ); /** * Создает новую колонку. * * @param array $columns * * @return array */ function add_my_column_in_media_table( $columns ) { // Добавим хук, который в футере выведет стили для нашей колонки add_action( 'admin_footer', 'add_my_column_in_media_table_css' ); // Добавим колонку в начало return [ 'id-image' => 'ID' ] + $columns; } /** * Заполняет колонку данными. * * @param string $colname * @param int $post_id */ function fill_my_column_in_media_table( $colname, $post_id ) { if ( $colname === 'id-image' ) { echo (int) $post_id; } } /** * Выводит на экран стили для колонки "ID". */ function add_my_column_in_media_table_css() { ?> <style type="text/css"> #id-image { width: 40px; } </style> <?php }
Список изменений
С версии 2.5.0 | Введена. |
Где вызывается хук
manage_media_columns
wp-admin/includes/class-wp-media-list-table.php 392
return apply_filters( 'manage_media_columns', $posts_columns, $this->detached );