Tambahkan semua SKU item pesanan pada nombor pesanan dalam Woocommerce
P粉707235568
P粉707235568 2023-09-11 23:19:34
0
1
604

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粉707235568
P粉707235568

membalas semua(1)
P粉949848849

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan