В WordPress в плагине WooCommerce, что бы добавить дополнительное поле (столбец) в админке для товаров необходимо вставить следующий код в function.php текущей темы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
/////////////// поле с menu_order в WooCommerce admin /////////// /** * Создаем колонку */ function change_columns_filter( $columns ) { $columns['menu_order'] = 'Сорт.'; return $columns; } add_filter( 'manage_edit-product_columns', 'change_columns_filter',10, 1 ); /** * Заполняем колонку */ function getMenuOrder($column) { global $post; switch ( $column ) { case 'menu_order': echo ($post->menu_order); break; } } add_action( 'manage_product_posts_custom_column', 'getMenuOrder', 10, 1 ); ////////// END /////////// |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
add_filter( 'manage_edit-product_sortable_columns', 'true_sort_menu_order' ); // manage_edit-{тип поста}_sortable_columns add_action( 'pre_get_posts', 'true_orderby_menu_order' ); function true_sort_menu_order( $columns ) { $columns['menu_order'] = 'menu_order'; // $columns['ID колонки'] = 'Значение параметра orderby' //Кстати, здесь вы также можете сделать любую колонку несортируемой, просто удалите её из массива //unset($columns['date']); return $columns; } function true_orderby_menu_order( $query ) { // так как сортировка будет осуществляться только в админке if( ! is_admin() ) return; $orderby = $query->get( 'orderby'); if( 'menu_order' == $orderby ) { // 'views' - параметр в GET-запросе // $query->set('meta_key','menu_order'); // 'prosmort' - название произвольного поля $query->set('orderby','menu_order'); // если сортировка не по числовому значению, а по алфавиту, замените на 'meta_value' } } |