WordPress как на ладони
Новые WordPress шаблоны Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

manage_media_columns хук-фильтр . WP 2.5.0

Позволяет изменить список зарегистрированных колонок в таблице Медиа.

Заполнить данными свою колонку можно на хуке manage_media_custom_column.

Использование

add_filter( 'manage_media_columns', 'filter_function_name_6134', 10, 2 );
function filter_function_name_6134( $posts_columns, $detached ){
	// Изменяем...

	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
}

Где используется хук

WP_Media_List_Table::get_columns() остальные хуки:

Код хука-фильтра manage_media_columns

Фрагмент из: wp-admin/includes/class-wp-media-list-table.php VER 4.9.8
...
			$posts_columns['parent'] = _x( 'Uploaded to', 'column name' );
			if ( post_type_supports( 'attachment', 'comments' ) )
				$posts_columns['comments'] = '<span class="vers comment-grey-bubble" title="' . esc_attr__( 'Comments' ) . '"><span class="screen-reader-text">' . __( 'Comments' ) . '</span></span>';
		}
		/* translators: column name */
		$posts_columns['date'] = _x( 'Date', 'column name' );
		/**
		 * Filters the Media list table columns.
		 *
		 * @since 2.5.0
		 *
		 * @param array $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. Default true.
		 */
		return apply_filters( 'manage_media_columns', $posts_columns, $this->detached );
	}

	/**
	 *
	 * @return array
	 */
	protected function get_sortable_columns() {
		return array(
			'title'    => 'title',
			'author'   => 'author',
			'parent'   => 'parent',
			'comments' => 'comment_count',
			'date'     => array( 'date', true ),
		);
	}
...
campusboy 3060youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7019
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться