Rumah  >  Soal Jawab  >  teks badan

Tambahkan semua SKU item pesanan pada nombor pesanan dalam Woocommerce

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粉707235568P粉707235568377 hari yang lalu502

membalas semua(1)saya akan balas

  • P粉949848849

    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.

    balas
    0
  • Batalbalas