function add_menu_order_column($columns) {
$columns['menu_order'] = __('Menu Order', 'platan');
return $columns;
}
add_filter('manage_edit-product_columns', 'add_menu_order_column', 9999);
function populate_menu_order_column($column, $post_id) {
if ($column === 'menu_order') {
$menu_order = get_post_field('menu_order', $post_id);
echo esc_html($menu_order);
}
}
add_action('manage_product_posts_custom_column', 'populate_menu_order_column', 10, 2);
function make_menu_order_column_sortable($columns) {
$columns['menu_order'] = 'menu_order';
return $columns;
}
add_filter('manage_edit-product_sortable_columns', 'make_menu_order_column_sortable');
function sort_by_menu_order_in_admin($query) {
if (!is_admin() || !$query->is_main_query() || $query->get('post_type') !== 'product') {
return;
}
$orderby = $query->get('orderby');
if ('menu_order' === $orderby) {
$query->set('orderby', 'menu_order');
$query->set('order', 'ASC');
}
}
add_action('pre_get_posts', 'sort_by_menu_order_in_admin');
Code language: PHP (php)