manage_posts_columns
Позволяет изменить список зарегистрированных колонок в админке в таблице записей для любых типов записей кроме page
.
Если нужно изменить колонки в таблице со стандартными страницами (post_type=page), то используйте фильтр manage_pages_columns или manage_(post_type)_posts_columns.
Использование
add_filter( 'manage_posts_columns', 'wp_kama_manage_posts_columns_filter', 10, 2 ); /** * Function for `manage_posts_columns` filter-hook. * * @param string[] $post_columns An associative array of column headings. * @param string $post_type The post type slug. * * @return string[] */ function wp_kama_manage_posts_columns_filter( $post_columns, $post_type ){ // 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] => Дата )
- $post_type(строка)
- Ярлык (slug) типа записи, например
post
,news
,product
и так далее.
Примеры
#1 Изменим название столбца
Пусть вы зарегистрировали тип записи "Услуги" под ярлыком "service" и теперь хотите столбец "Заголовок" переименовать в "Название услуги", тогда:
add_filter( 'manage_posts_columns', 'change_title_in_table_services', 10, 2 ); function change_title_in_table_services( $post_columns, $post_type ) { if ( 'service' === $post_type ) { $post_columns['title'] = 'Название услуги'; } return $post_columns; }
Список изменений
С версии 1.5.0 | Введена. |
Где вызывается хук
manage_posts_columns
wp-admin/includes/class-wp-posts-list-table.php 739
$posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type );