Jeśli chcesz, aby zamówienia hurtowe wyróżniały się na pierwszy rzut oka, możesz nadać im własny prefiks numeru zamówienia. Na przykład, możesz zamienić zamówienie #1234 na WH-1234. Ten artykuł pokazuje, jak dodać niestandardowy prefiks do numerów zamówień hurtowych za pomocą fragmentu kodu. Ułatwia to odróżnienie zamówień hurtowych i detalicznych na liście zamówień WooCommerce.
Wymagania wstępne
- Należy zainstalować i aktywować WooCommerce Wholesale Prices Premium. Wykrywanie typu zamówienia używane w tym fragmencie opiera się na kluczu meta
_wwpp_order_type, który jest ustawiany przez ten wtyczkę podczas realizacji zakupu. - Dostęp do dodawania niestandardowego kodu PHP, albo za pośrednictwem pliku functions.php aktywnego motywu potomnego, albo wtyczki do fragmentów kodu, takiej jak WPCode.
Kolumna typu zamówienia
Po złożeniu zamówienia hurtowego, WooCommerce Wholesale Prices Premium dodaje kolumnę Typ zamówienia do strony Zamówienia WooCommerce, dzięki czemu można na pierwszy rzut oka zobaczyć, które zamówienia pochodziły od klientów hurtowych.
Możesz pójść o krok dalej, dodając niestandardowy prefiks do numeru zamówienia dla zamówień hurtowych. Dodaj następujący fragment do pliku functions.php swojego motywu potomnego lub do wtyczki fragmentów kodu:
add_filter( 'woocommerce_order_number', 'wwpp_custom_wholesale_order_number_prefix', 10, 2 );
function wwpp_custom_wholesale_order_number_prefix( $order_number, $order ) {
$prefix = 'WH-'; // Change this to any prefix you like
$order_type = $order->get_meta( '_wwpp_order_type', true ); // HPOS-compatible meta read
if ( 'wholesale' === $order_type ) {
return $prefix . $order_number;
}
return $order_number;
}
Zmień wartość $prefix na dowolny ciąg znaków, który Ci się podoba, na przykład 'WHSL-' lub 'B2B-'. Prefiks jest dodawany przed istniejącym numerem zamówienia, więc zamówienie #1234 staje się WH-1234.
Ten fragment używa $order->get_meta() do odczytu typu zamówienia. Jest to właściwe podejście dla witryn korzystających z High-Performance Order Storage (HPOS) WooCommerce. Bezpośrednie użycie get_post_meta() nie zadziała w sklepach z włączonym HPOS, ponieważ dane zamówienia nie są już przechowywane w tabeli postów.
Wynik
Oto wynik:

Rozwiązywanie problemów
Prefiks nie pojawia się przy zamówieniach hurtowych. Potwierdź, że WooCommerce Wholesale Prices Premium jest aktywne. Meta _wwpp_order_type jest ustawiana przez tę wtyczkę podczas realizacji zakupu, więc zamówienia złożone przed jej instalacją nie będą miały tej metadanych i nie będą pasować. Sprawdź również, czy fragment został dodany do pliku functions.php motywu potomnego (nie do pliku motywu nadrzędnego, który zostanie nadpisany podczas aktualizacji motywu) lub do wtyczki fragmentów kodu.
Prefiks pojawia się przy wszystkich zamówieniach, nie tylko hurtowych. Sprawdź, czy wywołanie $order->get_meta( '_wwpp_order_type', true ) zwraca 'wholesale' dla oczekiwanych zamówień. Możesz tymczasowo dodać wywołanie var_dump wewnątrz funkcji (tylko na stronie deweloperskiej), aby sprawdzić wartość zwracaną.
Potrzebujesz pomocy?
Jeśli masz pytanie lub napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc.
- Użytkownicy wersji Premium: Otwórz zgłoszenie wsparcia
- Użytkownicy wersji darmowej: Odwiedź nasze forum społecznościowe

