Как через хук в админке вывести ID миниатюры с сортировкой?

Как через хук в админке вывести ID миниатюры с сортировкой?

Добавьте в functions.php




// 1. Добавляем столбец с указанием нужного ID
add_filter('manage_post_posts_columns', function($columns) {
    $columns['thumbnail_id'] = 'Thumbnail ID (41810)';
    return $columns;
});

// 2. Выводим значение
add_action('manage_post_posts_custom_column', function($column, $post_id) {
    if ($column === 'thumbnail_id') {
        $thumb_id = get_post_meta($post_id, '_thumbnail_id', true);
        echo $thumb_id ?: '—';
    }
}, 10, 2);

// 3. Делаем столбец сортируемым
add_filter('manage_edit-post_sortable_columns', function($columns) {
    $columns['thumbnail_id'] = 'thumbnail_id';
    return $columns;
});

// 4. Обрабатываем сортировку
add_action('pre_get_posts', function($query) {
    if (!is_admin() || !$query->is_main_query()) {
        return;
    }

    if ($query->get('orderby') === 'thumbnail_id') {
        $query->set('meta_key', '_thumbnail_id');
        $query->set('orderby', 'meta_value_num'); // сортировка как числа
    }
});



Пример реализации данного кода:

Как через хук в админке вывести ID миниатюры с сортировкой

guest
Другие сообщения форума
Закрыть меню