Ajouter tous les SKU des articles de commande au numéro de commande dans Woocommerce
P粉707235568
P粉707235568 2023-09-11 23:19:34
0
1
570

J'ai ce code qui ajoute le nom du produit comme préfixe au numéro de commande via function.php, mais je souhaite le modifier pour ajouter le SKU. De plus, ce serait bien si la quantité pour chaque SKU pouvait être insérée en même temps.

Semblable à : 2xSKUA_1xSKUB_Numéro de commande

Quelqu’un peut-il m’indiquer la bonne direction ?

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

répondre à tous(1)
P粉949848849

Pour ajouter le SKU avant la quantité de l'article (produit) commandé, utilisez-le après le numéro de commande. Code revisité ci-dessous :

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

Cela devrait fonctionner comme prévu.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal