Описание manage_{$this->screen->id}_custom_column
— Action
Хук manage_{$this->screen->id}_custom_column позволяет изменить вывод пользовательских колонок в списках объектов (например, в списках товаров, постов и т.д.) в админке WordPress. Он срабатывает при выводе каждой пользовательской колонки и позволяет настроить, какие данные будут отображаться в этих колонках
Примеры использования
Пример вывода пользовательского поля в колонке товаров:
add_action('manage_product_posts_custom_column', function($column_name, $post_id) {
if ($column_name === 'custom_field') {
$value = get_post_meta($post_id, '_custom_field_key', true);
echo esc_html($value);
}
}, 10, 2);
Этот код выводит значение пользовательского поля ‘custom_field’ для каждого товара в админке
Пример изменения вывода в колонке постов:
add_action('manage_post_posts_custom_column', function($column_name, $post_id) {
if ($column_name === 'author') {
$author_id = get_post_field('post_author', $post_id);
echo get_the_author_meta('display_name', $author_id);
}
}, 10, 2);
Здесь мы выводим имя автора поста в пользовательской колонке ‘author’
Пример добавления HTML-кода в колонку:
add_action('manage_page_posts_custom_column', function($column_name, $post_id) {
if ($column_name === 'status') {
echo '' . get_post_status($post_id) . '';
}
}, 10, 2);
В этом примере мы выводим статус страницы в виде HTML-метки
— Лучшие практики
– Использование
Используйте этот хук, когда вам нужно добавить или изменить отображение пользовательских колонок в админке WordPress
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только вывода данных
– Предупреждения
Следите за тем, чтобы ваш код не вызывал ошибок, так как это может повлиять на отображение списка объектов
Альтернативы
Тип: filter
Этот хук позволяет добавлять новые пользовательские колонки в списки объектов
Используйте его, если вам нужно добавить дополнительные колонки, а не только изменять вывод существующих