web-dev-qa-db-fra.com

Comment vider un panier Woocommerce

Je me demande comment vous pouvez effacer le contenu de votre panier lors du chargement de page en utilisant woocommerce.

Je suis venu à travers comment ajouter un bouton de panier clair en utilisant en l'ajoutant à functions.php

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

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

Mais je me demandais comment je pourrais déclencher ceci en chargeant la page d'accueil de la page d'accueil (si vous pouviez spécifier la page exacte, ce serait formidable, mais même la page d'accueil serait utile) 

Des idées? Merci!

11
user1370288

Pour déclencher uniquement sur la page d'accueil, votre fonction doit ressembler à ceci:

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 () renvoie vrai uniquement sur la page d'accueil de votre site wordpress. En outre, vous pouvez détecter toute autre page avec la fonction is_page () où vous pouvez passer n’importe quel titre, ID ou slug de page.

13
mirus

La version mise à jour de ceci serait:

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

Essaye ça. J'espère que cela vous aidera.

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

Aucun des codes ci-dessus n'a fonctionné sur mon installation Wordpress (4.9.6). Donc, j'ai changé le add_action et enlevé la demande de variable et suis allé directement à courir. 

Maintenant, mon plug-in Woocommerce efface les produits du panier lorsque l'utilisateur quitte la page de paiement sans erreur de duplication Merci à tous pour votre aide

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

ce qui précède n'a pas fonctionné pour moi, donc j'avais besoin de quelque chose qui ne repose pas sur WordPress conditionnel

/*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

Vous pouvez simplement appeler ces fonctions principales de WooCommerce:

wc_empty_cart()

Merci

0
sushil adhikari

Si vous avez besoin d'un bouton de panier vide sur la page du panier, vous pouvez utiliser le plugin ci-dessous pour effacer le panier.

Nom du plug-in: Bouton Panier vide pour WooCommerceLink: https://wordpress.org/plugins/woo-empty-cart-button/

Aucun paramètre requis, il suffit d'activer le plugin.

0
user6795377