Leeren Sie den WooCommerce-Einkaufswagen automatisch und löschen Sie die Sitzung nach 30 Minuten

Lesezeit: 1 Minute

Ich habe Mühe, eine Lösung zu finden, wie ich den Einkaufswagen nach 30 Minuten automatisch leeren und die Sitzung löschen kann.

add_filter('wc_session_expiring', 'filter_ExtendSessionExpiring' );
add_filter('wc_session_expiration' , 'filter_ExtendSessionExpired' );

function filter_ExtendSessionExpiring($seconds) {
    global $woocommerce;

    $woocommerce->session->set_customer_session_cookie(true);
        return 60 * 30;
        WC()->cart->empty_cart();
        WC()->session->destroy_session();
}

function filter_ExtendSessionExpired($seconds) {
    global $woocommerce;

    $woocommerce->session->set_customer_session_cookie(true);
        return 60 * 30;
        WC()->cart->empty_cart();
        WC()->session->destroy_session();
}

/**
 * Set session expiration.
 */
public function set_session_expiration() {
    $this->_session_expiring   = time() + intval( apply_filters( 'wc_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
    $this->_session_expiration = time() + intval( apply_filters( 'wc_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
}

Oben ist die Funktion, die den Sitzungsablauf für WC festlegt. Sie können den Filter verwenden, um den Wert wie unten zu ändern.

    add_filter( 'wc_session_expiring', 'wc_custom_session_expiring' );
    add_filter( 'wc_session_expiration', 'wc_custom_session_expiring' );

    function wc_custom_session_expiring( $expiry ) {
        return 60 * 30;
    }

  • Die Verwendung des Filters hat nicht funktioniert. Nicht sicher warum. Das Plugin hat wie vorgesehen funktioniert.

    Benutzer13639445

    7. Juni 2020 um 5:40 Uhr

  • Ich habe an anderer Stelle Kommentare gesehen, die darauf hinweisen, dass Woos Sitzungs-Cron alle 12 Stunden ausgeführt wird, sodass das Festlegen des Ablaufs auf ein kürzeres Intervall anscheinend nicht funktioniert, ohne auch den Cron zu ändern. Ich habe es noch nicht selbst getestet, werde das Plugin aber wahrscheinlich aus demselben Grund verwenden.

    – Eis

    30. Dezember 2020 um 14:19 Uhr

1435320cookie-checkLeeren Sie den WooCommerce-Einkaufswagen automatisch und löschen Sie die Sitzung nach 30 Minuten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy