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!
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.
La version mise à jour de ceci serait:
WC()->cart->empty_cart();
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();
}
}
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();
}
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();
}
}
Vous pouvez simplement appeler ces fonctions principales de WooCommerce:
wc_empty_cart()
Merci
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.