web-dev-qa-db-fra.com

Obtenez le nombre d'articles dans le panier dans wordpress en utilisant woocommerce

je développe actuellement un site web. Mais je suis confronté à un problème. J'ai besoin d'afficher le nombre d'articles qui sont dans le panier, mais uniquement le nombre, rien d'autre, je ne veux pas le montant total ou autre chose. Juste le nombre d'articles.

Je vise à l'afficher sur mon lien "go to cart" qui est une image avec un href. Mais ce n'est pas le principal pb. Le principal problème est de trouver un moyen d’obtenir uniquement le nombre d’articles dans le panier.

J'utilise WordPress avec Avada installé pour pouvoir personnaliser un peu plus WP et obtenir certaines fonctionnalités incluses. Mais je n'utilise pas le menu avada, j'utilise un menu fait maison et je veux y afficher le nombre d'articles dans le panier.

Et pour le "côté shopping", j'utilise WooCommerce.

J'ai vu beaucoup de messages d'hameçons et tout ce qui s'y rapportait, mais il s'agissait "d'afficher le nombre d'articles et le montant total du panier, je ne veux pas afficher le montant total de la voiture, je veux juste le nombre. Un peu comme ceci: site plein.com

5
Nemzytch

Salut et bienvenue sur le site, même si je suis nouveau ici aussi! La documentation WooCommerce contient en fait un extrait de code exactement dans cet objectif:

https://docs.woocommerce.com/document/show-cart-contents-total/

Dans votre cas, pour obtenir le décompte, vous pourriez faire quelque chose comme ceci:

Cart Total: <?php echo WC()->cart->get_cart_contents_count(); ?>

Koda

10
Kodaloid

D'après votre description, je comprends que vous souhaitez afficher uniquement le nombre de paniers et rien d'autre. Voici le code pour le faire 

Ajoutez ce bloc de code dans header.php ou dans ce fichier où vous souhaitez afficher ce widget ...

<a class="cart-customlocation" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php WC()->cart->get_cart_contents_count(); ?></a>

Et puis ajoutez ce bloc de code à functions.php 

add_filter('add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment');

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    global $woocommerce;

    ob_start();

    ?>
    <a class="cart-customlocation" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php WC()->cart->get_cart_contents_count(); ?></a>

    <?php

    $fragments['a.cart-customlocation'] = ob_get_clean();

    return $fragments;

}
6
Jawwad Rizwan

De ici :

Ajoutez ce code dans votre fichier header.php.

<a class="cart-contents" href="<?php echo wc_get_cart_url(); ?>" title="<?php _e( 'View your shopping cart' ); ?>"><?php echo sprintf ( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count() ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
2
Aravind Srinivas

Suite à la réponse de Kodaloid, vous pouvez également afficher le nombre de paniers uniquement s'il est supérieur à 0.

<?php
	$cartcount = WC()->cart->get_cart_contents_count();
	if ($cartcount > 0) { echo $cartcount; }
?>

1
John Fotios

get_cart_contents_count () affiche la quantité totale de tous les articles du produit . i.e. vous achetez 2 kg de produit A et 1 kg de produit B, get_cart_contents_count () return 3.

Si vous avez besoin de montrer combien de produits sont dans le panier, j’ai réalisé cette fonction dans functions.php:

function count_item_in_cart() {
    $count = 0;
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        $count++;
    }
    return $count;
}

alors dans votre fichier php vous pouvez le faire:

<?php echo count_item_in_cart() . " products"; ?>
0
ale