Kod ten dodaje kolumnę „LP” czyli tzw. Numeracja Porządkowa Zamówień w WooCommerce. Funkcjonalność ta ułatwia orientację w liczbie zamówień. Jest to użyteczne dla właścicieli sklepów. Pozwala na szybką ocenę ilości i kolejności zamówień. Dzięki temu zarządzanie zamówieniami staje się łatwiejsze. Zapewnia to lepszą organizację pracy. Przyspiesza także przetwarzanie zamówień. W efekcie zwiększa się satysfakcja klientów.
add_filter('manage_edit-shop_order_columns', 'add_lp_column_to_orders_list', 10, 1); function add_lp_column_to_orders_list($columns) { // Dodaj nową kolumnę na początku tablicy kolumn $new_columns = array_merge(array('lp' => __('LP', 'textdomain')), $columns); return $new_columns; } function initialize_lp_counter() { global $lp_counter; $lp_counter = 0; add_filter('the_posts', 'reset_lp_counter', 10, 2); } function reset_lp_counter($posts, $query) { global $lp_counter; if ($query->is_main_query() && (is_admin() && $query->query['post_type'] === 'shop_order')) { $lp_counter = 0; } return $posts; } add_action('admin_init', 'initialize_lp_counter'); add_action('manage_shop_order_posts_custom_column', 'fill_lp_column_in_orders_list', 10, 2); function fill_lp_column_in_orders_list($column) { global $lp_counter; switch ($column) { case 'lp': echo ++$lp_counter; break; } } add_action('admin_head', 'lp_column_width'); function lp_column_width() { echo '<style> .widefat .column-lp { width: 5%; } </style>'; }
Dodanie Kolumny „LP”
Funkcja add_lp_column_to_orders_list
Ta funkcja jest pierwszym krokiem, który modyfikuje strukturę tabeli zamówień w panelu WooCommerce, dodając na jej początku nową kolumnę oznaczoną jako „LP”. Używa ona filtru manage_edit-shop_order_columns
, który pozwala na manipulowanie kolumnami wyświetlanymi w liście zamówień. Funkcja ta łączy nową kolumnę z istniejącymi, używając array_merge
, co gwarantuje, że kolumna „LP” znajdzie się na pierwszym miejscu.
Inicjalizacja Globalnego Licznika
Funkcje initialize_lp_counter
i reset_lp_counter
Te funkcje odpowiadają za inicjalizację i resetowanie globalnego licznika, który jest wykorzystywany do numerowania zamówień. initialize_lp_counter
jest wywoływana przy każdym załadowaniu panelu administracyjnego dzięki zaczepowi admin_init
, a reset_lp_counter
zapewnia, że licznik jest resetowany przy każdym nowym zapytaniu do bazy danych dotyczącym zamówień. Dzięki temu, przy każdym odświeżeniu strony z zamówieniami, numeracja zaczyna się od nowa.
Wypełnienie Kolumny „LP”
Funkcja fill_lp_column_in_orders_list
Ta funkcja jest sercem całego kodu, ponieważ to ona odpowiada za wypełnienie kolumny „LP” konkretnymi wartościami. Jest wywoływana za każdym razem, gdy WooCommerce buduje listę zamówień, dzięki czemu każde zamówienie na liście otrzymuje kolejny numer. Funkcja ta wykorzystuje globalny licznik i inkrementuje go za każdym wywołaniem, co pozwala na dynamiczne przypisanie numeru porządkowego do każdego zamówienia.
Opcjonalna Zmiana Szerokości Kolumny „LP”
Funkcja lp_column_width
Jest to dodatkowy fragment kodu, który pozwala na dostosowanie szerokości nowej kolumny „LP” za pomocą CSS. Dzięki temu można lepiej zarządzać przestrzenią w tabeli zamówień, dostosowując ją do indywidualnych potrzeb użytkownika.
Podsumowując, Numeracja Porządkowa Zamówień w WooCommerce pozwala na znaczące ulepszenie interfejsu panelu zamówień w WooCommerce, poprzez dodanie numeracji, która ułatwia zarządzanie i orientację w zamówieniach. Jest to szczególnie cenne w przypadku sklepów o dużej liczbie transakcji.