Home » WooCommerce » Deaktivieren der WooCommerce-Kasse an einem bestimmten Datum oder Wochentag

Deaktivieren der WooCommerce-Kasse an einem bestimmten Datum oder Wochentag

Sie wissen wahrscheinlich, dass WooCommerce eine der beliebtesten E-Commerce-Plattformen der Welt ist. Da es relativ einfach einzurichten ist, gibt es zahlreiche Unternehmen, die es nicht nur für den Verkauf von Produkten nutzen.

Einer meiner Kunden nutzt WooCommerce zum Beispiel für die Reservierung von Speisen in einem kleinen Sushi-Restaurant. Und es gibt Tage, an denen das Restaurant nicht arbeitet. Zum Beispiel montags, in der ersten Woche nach Neujahr, usw. Also bat er mich, eine Funktion zu bauen, um die Kasse an bestimmten Daten oder Wochentagen zu deaktivieren. Heute zeige ich Ihnen, wie Sie diese Funktion auch auf Ihrer WooCommerce-Website einrichten können.

Bevor wir beginnen, müssen wir noch eine Kleinigkeit erledigen: Gehen Sie in Ihren Shop und erstellen Sie eine Seite mit einer Meldung wie „Sorry, wir sind im Moment nicht in Betrieb, kommen Sie morgen wieder“. Einen Link zu dieser Seite brauchen Sie etwas später.

So deaktivieren Sie die WooCommerce-Kasse an bestimmten Wochentagen

Hier ist ein Beispiel, wie Sie die Kasse am Montag deaktivieren können.

Gehen Sie zu Erscheinungsbild >> Editor für Themendateien oder Extras >> Editor für Themendateien und öffnen Sie die Datei function.php auf der rechten Seite des Bildschirms.

Dort fügen Sie diesen Code am Ende der Datei functions.php ein:

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

Was macht diese Funktion? Sie unterbricht im Grunde eine der Kassenfunktionen. Wenn der Wochentag Montag ist, wird der Kunde automatisch auf die Seite umgeleitet, die Sie zuvor erstellt haben – die Seite, die besagt, dass der Shop im Moment nicht funktioniert.

Wenn Sie die Kaufabwicklung an Wochenenden deaktivieren möchten, können Sie if (date(‚D‘) == ‚Mon‘) { mit ersetzen:

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

Sie können Mon, Tue, Wed, Thu, Fri, Sat und Sun für Wochentage in der Funktion verwenden.

Deaktivieren der WooCommerce-Kaufabwicklung für ein bestimmtes Datum oder eine bestimmte Zeitspanne

Um die Kasse in WooCommerce an bestimmten Tagen zu deaktivieren, verwenden wir die gleiche Funktion wie zuvor, nur mit einigen Änderungen.

Gehen Sie zu Erscheinungsbild >> Editor für Themendateien oder Extras >> Editor für Themendateien und öffnen Sie die Datei function.php auf der rechten Seite des Bildschirms. Fügen Sie dann diesen Code am Ende der Datei functions.php ein, genauso wie zuvor:

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

Sobald Sie die Änderungen gespeichert haben, werden die Kunden an diesem Tag automatisch auf die von Ihnen angegebene URL umgeleitet.

Wenn Sie den Checkout in Ihrem WooCommerce-Shop für mehr als einen Tag deaktivieren möchten, können Sie die gleiche Funktion für den gesamten Zeitraum verwenden. Ersetzen Sie einfach if ( $date_now == ‚2022-12-25‘) { durch diese Zeile:

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

Best WordPress hosting 2024

In diesem speziellen Beispiel würde die Kasse vom 2022-12-25 bis zum 2023-01-01 deaktiviert werden.

Link zum Autor des Original-Coverbildes hier.

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