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[] $posts_columns An associative array of column headings.
* @param string $post_type The post type slug.
*
* @return string[]
*/
function wp_kama_manage_posts_columns_filter( $posts_columns, $post_type ){
// filter...
return $posts_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 738
$posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type );
