it-swarm.com.de

So löschen Sie einen Woocommerce-Warenkorb

Ich frage mich, wie Sie den Inhalt Ihres Warenkorbs beim Laden der Seite mithilfe von woocommerce löschen können.

Ich habe mir überlegt, wie ich einen klaren Warenkorb-Button hinzufügen kann, indem ich dies in functions.php hinzufüge

add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
  global $woocommerce;

    if ( isset( $_GET['empty-cart'] ) ) {
        $woocommerce->cart->empty_cart(); 
    }
}

Aber ich habe mich gefragt, wie ich das auslösen würde, wenn beispielsweise die Seite geladen wird (wenn Sie die genaue Seite angeben könnten, die großartig wäre, aber sogar die Startseite wäre nützlich). 

Irgendwelche Ideen? Vielen Dank!

11
user1370288

Um nur auf der Vorderseite zu triggern, muss Ihre Funktion folgendermaßen aussehen:

add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
  global $woocommerce;

    if ( is_front_page() && isset( $_GET['empty-cart'] ) ) { 
        $woocommerce->cart->empty_cart(); 
    }
}

function is_front_page () gibt true nur auf der Startseite Ihrer Wordpress-Site zurück. Sie können auch jede andere Seite mit der Funktion is_page () erkennen, auf der Sie einen beliebigen Seitentitel, eine ID oder einen Slug übergeben können

13
mirus

Die aktualisierte Version davon wäre:

WC()->cart->empty_cart();
9
Kuliraj

Versuche dies. Ich hoffe es hilft dir.

add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
  global $woocommerce;

  if (strpos($_SERVER['REQUEST_URI'], '/checkout')  <  0 ) 
  {
         $woocommerce->cart->empty_cart();
  }
}
2
MakeWebBetter

Keiner der obigen Codes funktionierte bei meiner Wordpress-Installation (4.9.6). Also änderte ich die add_action, entfernte die Variablenanforderung und ging direkt zur Ausführung. 

Jetzt löscht mein Woocommerce-Plugin Produkte in den Warenkorb, sobald der Benutzer die Checkout-Seite ohne doppelte Fehler beendet hat. Vielen Dank an alle für Ihre Hilfe

add_action( 'woocommerce_add_cart_item_data', 'woocommerce_clear_cart_url' );

function woocommerce_clear_cart_url() {

    global $woocommerce;
    $woocommerce->cart->empty_cart();
} 
1
RogerRobles.com

das oben genannte funktionierte nicht für mich, also brauchte ich etwas, das nicht auf WordPress angewiesen ist:

/*empty cart if user come to homepage*/
add_action( 'init', 'woocommerce_clear_cart_url' );
function woocommerce_clear_cart_url() {
global $woocommerce;

if ($_SERVER['REQUEST_URI'] === '/') { 
    $woocommerce->cart->empty_cart(); 
 }
}
0
DrMosko

Sie können diese WooCommerce-Kernfunktionen einfach aufrufen:

wc_empty_cart()

Vielen Dank

0
sushil adhikari

Wenn Sie einen leeren Warenkorb-Button auf der Warenkorb-Seite benötigen, können Sie das folgende Plugin verwenden, um den Warenkorb zu löschen

Plugin-Name: Leerer Warenkorb-Button für WooCommerce Link: https://wordpress.org/plugins/woo-empty-cart-button/

Es sind keine Einstellungen erforderlich, aktivieren Sie einfach das Plugin.

0
user6795377