Comment ajouter un produit automatiquement à une commande après l’achat sous WooCommerce ?

Dans cet article, nous allons voir comment ajouter de manière automatique une liste de produits à une commande lors de l’achat, une fois qu’un produit groupé est acheté.

C’est un excellent moyen de faire gagner du temps au client, puisqu’il n’a pas besoin d’ajouter manuellement chaque produit à son panier. En arrière-plan, après un achat réussi, un code PHP (que vous trouverez ci-dessous) ajoute les produits à la commande, fixe leur prix à 0€ (de sorte que le total de la commande ne soit pas modifié) et enregistre la commande. C’est parti !

Le premier produit est le seul acheté, tandis que les suivants sont ajoutés ultérieurement par le code ci-dessous !

Remarque : le code ci-dessous recherche dans les éléments de la commande si le produit ID = « 123 » est présent. Il s’agit du produit « groupé ».

Lorsqu’il est acheté, mon code se déclenche et ajoute au panier le produit ID = « 456 ». Vous pouvez bien sûr ajouter plusieurs produits en ajoutant autant de lignes $order->add_product que vous le souhaitez.

add_action( 'woocommerce_payment_complete', 'wootimeo_add_products_to_order', 9999 );
 
function wootimeo_add_products_to_order( $order_id ) {
   $order = wc_get_order( $order_id );
   foreach ( $order->get_items() as $item_id => $item ) {
      $product_id = $item->get_product_id();
      if ( $product_id && $product_id == 123 ) {
         $order->add_product( wc_get_product( 456 ), 1, array( 'subtotal' => 0, 'total' => 0 ) );   
         $order->save();         
         //wc_downloadable_product_permissions( $order_id, true ); AJOUTER CECI SI LE PRODUIT AJOUTÉ EST TÉLÉCHARGEABLE
         //wc_update_product_stock( wc_get_product( 456 ), 1, 'decrease' ); AJOUTEZ CECI SI VOUS VOULEZ RÉDUIRE LE STOCK DU PRODUIT DE 1
         break;
      }
   }
}Langage du code : PHP (php)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *