Heim > Fragen und Antworten > Hauptteil
Ich habe diesen Code, der über „functions.php“ den Produktnamen als Präfix zur Bestellnummer hinzufügt, aber ich möchte ihn ändern, um die SKU hinzuzufügen. Außerdem wäre es schön, wenn die Menge für jede SKU gleichzeitig eingegeben werden könnte.
Ähnlich wie: 2xSKUA_1xSKUB_Bestellnummer
Kann mir jemand den richtigen Weg weisen?
function filter_woocommerce_order_number( $this_get_id, $instance ) { $order = new WC_Order( $this_get_id ); $items = $order->get_items(); foreach ( $items as $item ) { $product_name = preg_replace('/\s+/', '_', $item['name']);; break; } $new_id = $product_name.'_'.$this_get_id; return $new_id; }; add_filter( 'woocommerce_order_number', 'filter_woocommerce_order_number', 10, 2 );
P粉9498488492023-09-12 17:26:24
要在订单商品(产品)数量前添加 SKU,在订单号后面使用。以下重新访问的代码:
add_filter( 'woocommerce_order_number', 'filter_woocommerce_order_number', 10, 2 ); function filter_woocommerce_order_number( $order_number, $order ) { $prefix = array(); // Initializing // Loop through order items foreach ( $order->get_items() as $item ) { $product = $item->get_product(); // Get the product object // Add the quantity with the sku to the array $prefix[] = $item->get_quantity() . 'X' . $product->get_sku(); } // return everything merged in a string return implode('_', $prefix) . '_' . $order_number; }
它应该按您的预期工作。