manage_(post_type)_posts_columnsхук-фильтрWP 3.0.0

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

Хук формируется динамически для каждого типа записи, например:

  • manage_post_posts_columns для типа записи post (записи).
  • manage_page_posts_columns для типа записи page (страницы).
  • manage_product_posts_columns для типа записи product (товары в WooCommerce).
  • и так далее

Также смотрите похожие хуки:

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

add_filter( 'manage_(post_type)_posts_columns', 'wp_kama_manage_post_type_posts_columns_filter' );

/**
 * Function for `manage_(post_type)_posts_columns` filter-hook.
 * 
 * @param string[] $post_columns An associative array of column headings.
 *
 * @return string[]
 */
function wp_kama_manage_post_type_posts_columns_filter( $post_columns ){

	// filter...
	return $post_columns;
}
$post_columns(массив)

Массив с именами колонок. Например, у Записей дефолтный массив будет выглядеть так:

Array
(
	[cb]         => <input type="checkbox" />
	[title]      => Заголовок
	[author]     => Автор
	[categories] => Рубрики
	[tags]       => Метки
	[comments]   => <span class="vers comment-grey-bubble" title="Комментарии"><span class="screen-reader-text">Комментарии</span></span>
	[date]       => Дата
)

Примеры

0

#1 Удалим колонку "Автор" у Записей

Колонку "Автор" можно скрыть в секции "Настройки экрана", при таком подходе к ячейкам таблицы добавляется css класс hidden. Кодом ниже можно вообще отменить регистрацию этой колонки, тем самым данные физически не будут выведены.

add_filter( 'manage_post_posts_columns', function ( $columns ) {
	unset( $columns['author'] );

	return $columns;
} );
0

#2 Добавим колонку "ID" и "Миниатюра" для Записей

// Регистрируем колонку 'ID' и 'Миниатюра'. Обязательно.
add_filter( 'manage_post_posts_columns', function ( $columns ) {
	$my_columns = [
		'id'    => 'ID',
		'thumb' => 'Миниатюра',
	];

	return array_slice( $columns, 0, 1 ) + $my_columns + $columns;
} );

// Выводим контент для каждой из зарегистрированных нами колонок. Обязательно.
add_action( 'manage_post_posts_custom_column', function ( $column_name ) {
	if ( $column_name === 'id' ) {
		the_ID();
	}

	if ( $column_name === 'thumb' && has_post_thumbnail() ) {
		?>
		<a href="<?php echo get_edit_post_link(); ?>">
			<?php the_post_thumbnail( 'thumbnail' ); ?>
		</a>
		<?php
	}
} );

// Добавляем стили для зарегистрированных колонок. Необязательно.
add_action( 'admin_print_footer_scripts-edit.php', function () {
	?>
	<style>
		.column-id {
			width: 50px;
		}

		.column-thumb img {
			max-width: 100%;
			height: auto;
		}
	</style>
	<?php
} );

Список изменений

С версии 3.0.0 Введена.

Где вызывается хук

WP_Posts_List_Table::get_columns()
manage_(post_type)_posts_columns
wp-admin/includes/class-wp-posts-list-table.php 756
return apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );

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

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