Heim  >  Fragen und Antworten  >  Hauptteil

Fügen Sie alle Bestellartikel-SKUs zur Bestellnummer in Woocommerce hinzu

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粉707235568P粉707235568427 Tage vor564

Antworte allen(1)Ich werde antworten

  • P粉949848849

    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;
    }
    

    它应该按您的预期工作。

    Antwort
    0
  • StornierenAntwort