Rumah > Soal Jawab > teks badan
Saya mempunyai kod ini yang menambah nama produk sebagai awalan pada nombor pesanan melalui functions.php tetapi saya mahu menukarnya untuk menambah SKU. Selain itu, alangkah baiknya jika kuantiti untuk setiap SKU boleh dimasukkan pada masa yang sama.
Serupa dengan: 2xSKUA_1xSKUB_Nombor pesanan
Bolehkah sesiapa menunjukkan saya ke arah yang betul?
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
Untuk menambah SKU sebelum kuantiti item (produk) pesanan, gunakannya selepas nombor pesanan. Kod dilawati semula di bawah:
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; }
Ia sepatutnya berfungsi seperti yang anda jangkakan.