manage_(post_type)_posts_columns
Дозволяє змінити список зареєстрованих колонок у таблиці Записів.
Хук формується динамічно для кожного типу запису, наприклад:
manage_post_posts_columns
для типу записуpost
(запису).manage_page_posts_columns
тип записуpage
(сторінки).manage_product_posts_columns
для типу записуproduct
(товари у WooCommerce).- і так далі
Також дивіться схожі хуки:
- manage_pages_columns – спрацьовує для типу запису
page
- manage_posts_columns – спрацьовує для інших типів записів
Використання
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] => Дата )
Приклади
#1 Видалимо колонку “Автор” у Записів
Колонку “Автор” можна приховати в секції “Налаштування екрану”, при такому підході до осередків таблиці додається css клас hidden . Кодом нижче можна взагалі скасувати реєстрацію цієї колонки, цим дані фізично не будуть виведені.
add_filter( 'manage_post_posts_columns', function ( $columns ) { unset( $columns['author'] ); return $columns; } );
#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 | Введено. |
Де викликається хук
manage_(post_type)_posts_columns
Де використовується хук у WordPress
Використання не знайдено.