Avec ce nouveau snippet, nous allons vous montrer comment faire en sorte que vos commandes répondant à certains critères passent directement du status “En cours” au statut “Terminé”. C’est très pratique si vous vendez uniquement des produits virtuels.
WooCommerce passe par défaut les commandes au statut “Terminé” si elle ne contiennent que des produits virtuels et téléchargeables. Cela ne fonctionne cependant pas si les produits ne sont pas marqués comme téléchargeables. Le snippet présenté ci-dessous permettra de passer les commandes au statut “Terminé” si elles ne contiennent que des produits virtuels.
1|Information
Avant d’utiliser ce snippet, assurez-vous d’avoir installé l’extension Code Snippets (gratuite) sur votre site WordPress. Si ce n’est pas le cas, vous pouvez la télécharger via le lien ci-dessous. Si vous n’avez jamais ajouté de fonctionnalité spécifique à votre site WordPress, nous vous recommandons de commencer par lire notre guide dédié (lien ci-dessous).
2|Prérequis
Voici la liste des extensions nécessaires au bon fonctionnement de ce snippet. Assurez-vous de les installer avant d’activer le snippet.
WooCommerce | Nécessaire pour la vente de produits virtuels sur votre site |
3|Snippet
Voici le snippet à utiliser. Les commentaires à l’intérieur du code vous guideront sur le fonctionnement de ce snippet.
Assurez-vous de cocher la case “Run snippet everywhere” avant d’activer le snippet.
/** Here, we plug into the WooCommerce hook that is called when the status of an order is changed. We only do something if it was changed to processing */
\add_action('woocommerce_order_status_changed', function($orderId, $from, $to, $order)
{
// Enusure Order data
if ($orderId && !$order) {
$order = \wc_get_order($orderId);
}
// Make sure we receive an order Id
if (!$order) {
return;
}
// only fo processing
if ('processing' !== $to) {
return;
}
foreach( $order->get_items() as $item ) {
if ( $item['type'] == 'line_item' ) {
$product = $order->get_product_from_item( $item );
if ( ! $product->is_virtual() ) {
// If there's a non virtual product
return;
}
}
}
$order->update_status( 'completed' );
}, PHP_INT_MAX, 4);
Nos extensions
Nous avons créé des extensions performantes et largement plébiscitées pour WooCommerce. Boostez vos ventes grâce à nos solutions
WooRewards
Découvrez l'extension de fidélité la plus puissante pour WooCommerce. Systèmes simples ou par niveaux, parrainages, réseaux sociaux, badges et succès, vous y trouverez tous les outils pour construire VOTRE programme de fidélité
En savoir plusVIP Memberships
VIP Memberships est un outil complet de gestion d'adhésions (memberships) pour votre site WooCommerce. Vendez des abonnements à vos clients et faites les profiter d'avantages comme des prix préférentiels ou des produits exclusifs
En savoir plusVirtual Wallet
Offrez à vos clients un portefeuille virtuel sur votre site web. Laissez-lez emmagasiner de l'argent en achetant vos produits et utiliser ce crédit lors de futurs achats. Cette extension propose aussi un outil de carte cadeaux complet
En savoir plusReferral Codes
Gagnez de nouveaux clients grâce à cet outil complet de référencement. Que ce soit par le biais d'influenceurs ou de simples référents, récompensez les ainsi que les nouveaux clients qu'ils amènent
En savoir plus