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
