Home » WooCommerce » Comment désactiver le passage en caisse de WooCommerce à une date ou un jour de la semaine spécifique ?

Comment désactiver le passage en caisse de WooCommerce à une date ou un jour de la semaine spécifique ?

Vous savez probablement que WooCommerce est l’une des plateformes de commerce électronique les plus populaires au monde. Comme elle est relativement facile à mettre en place, diverses entreprises ne l’utilisent pas uniquement pour vendre des produits.

Par exemple, un de mes clients utilise WooCommerce pour la réservation de nourriture dans un petit restaurant de Sushi. Et il y a des jours où le restaurant ne fonctionne pas. Par exemple – les lundis, la première semaine après le Nouvel An, etc. Il m’a donc demandé de construire une fonction pour désactiver la caisse à des dates ou des jours de semaine spécifiques. Aujourd’hui, je vais vous montrer comment ajouter cette fonction à votre site WooCommerce également.

Avant de commencer, nous devons faire une petite chose – allez dans votre magasin et créez une page avec un message disant quelque chose comme « Désolé, nous ne travaillons pas en ce moment, revenez demain ». Vous aurez besoin d’un lien vers cette page un peu plus tard.

Comment désactiver le paiement par WooCommerce un jour de semaine spécifique ?

Voici un exemple pour désactiver le paiement le lundi.

Allez dans Apparence >> Editeur de fichier de thème, ou Outils >> Editeur de fichier de thème, et ouvrez le fichier function.php sur le côté droit de l’écran.

Une fois que vous y êtes, ajoutez ce code à la fin du fichier functions.php :

add_action( 'woocommerce_check_cart_items', 'woocommerce_check_cart_quantities' );
function woocommerce_check_cart_quantities() {
    if (date('D') == 'Mon') {
       wp_redirect('https://yourwebsite.com/come-back-later');
    }
}

Que fait cette fonction ? Elle interrompt essentiellement l’une des fonctions de paiement. Si le jour de la semaine est un lundi, elle redirige automatiquement le client vers la page que vous avez créée auparavant – celle qui indique que la boutique ne fonctionne pas pour le moment.

Si vous souhaitez désactiver le paiement le week-end, vous pouvez remplacer if (date(‘J’) == ‘Mon’) { par :

if ( (date('D') == 'Sat') || (date('D') == 'Sun') ) {

Vous pouvez utiliser Mon, Tue, Wed, Thu, Fri, Sat et Sun pour les jours de la semaine dans la fonction.

Comment désactiver le paiement de WooCommerce à une date ou un intervalle de dates spécifiques ?

Pour désactiver le paiement dans WooCommerce à des dates spécifiques, nous allons utiliser la même fonction que précédemment, mais avec quelques modifications.

Allez dans Apparence >> Editeur de fichier de thème, ou Outils >> Editeur de fichier de thème, et ouvrez le fichier function.php sur le côté droit de l’écran. Ajoutez ensuite ce code à la fin du fichier functions.php, comme précédemment :

add_action( 'woocommerce_check_cart_items', 'woocommerce_check_cart_quantities' );
function woocommerce_check_cart_quantities() {
    $date_now = date("Y-m-d");      // get today's date
    if ( $date_now == '2022-12-25') {    // date format year-month-day
        wp_redirect('https://yourwebsite.com/come-back-later');
    }
}

Une fois que vous aurez enregistré les modifications, le client sera automatiquement redirigé vers l’URL spécifié à cette date.

Si vous voulez désactiver le paiement dans votre boutique WooCommerce pour plus d’un jour, vous pouvez utiliser la même fonction pour toute la période. Remplacez simplement if ( $date_now == ‘2022-12-25’) { par cette ligne :

if ( ( $date_now > '2022-12-24') && ($date_now < '2023-01-02') ) {

Dans cet exemple spécifique, le paiement serait désactivé du 2022-12-25 au 2023-01-01.

Best WordPress hosting 2024

Lien de l’auteur de l’image de couverture originale ici.

Fathom analytics - privacy focused cookie-free website analytics

Most popular tutorials


Get our latest WordPress news and special offers from RockSolidWP!

Only useful WordPress and WooCommerce tips and tricks and exclusive offers for our readers once a month. No marketing nonsense.

Looking for reliable yet affordable WordPress hosting?
Hostinger is the way to go!

Get 10% OFF by using code IMAKEITWORK