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 );

