-
-
Save mikejolley/2044109 to your computer and use it in GitHub Desktop.
<?php | |
// Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php) | |
add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment' ); | |
function woocommerce_header_add_to_cart_fragment( $fragments ) { | |
ob_start(); | |
?> | |
<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> | |
<?php | |
$fragments['a.cart-contents'] = ob_get_clean(); | |
return $fragments; | |
} |
Use this code on functions.php
add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment' );
function woocommerce_header_add_to_cart_fragment( $fragments ) {
ob_start();
?>
<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>
<?php
$fragments['a.cart-contents'] = ob_get_clean();
return $fragments;
}
Use this code on theme file (may be 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>
it's not working with me. I have tried click add to cart Ajax and then see the number of mini cart is not updated. How to fix it?
Thanks, @winddweb, solved the problem I was having.
Hi If using the WooCommerce Dynamic Pricing extension the discount is not taken into account. Ideas how to display cart total -
thanks. just what i was looking for
Thank you dude, Code work straight away and was just want I was looking for.
Its work, thanks @winddweb
Works as charm !!
Guys, this code WONT work if you're translating something not in the main WP language file.
Because the code lack the textdomain. Instead it shoul look like this:
<?php
// Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php)
add_filter( 'woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment' );
function woocommerce_header_add_to_cart_fragment( $fragments ) {
ob_start();
?>
<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(), 'woocommerce' ), WC()->cart->get_cart_contents_count() ); ?> - <?php echo WC()->cart->get_cart_total(); ?></a>
<?php
$fragments['a.cart-contents'] = ob_get_clean();
return $fragments;
}
note this addition by me:
_n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'woocommerce' ), WC()->cart->get_cart_contents_count()
so now you can use your POedit(or bare hands), and translate the string "%d item"
In the .po file it should look something like this:
msgid "%d item"
msgid_plural "%d items"
msgstr[0] "%d блюдо"
msgstr[1] "%d блюда"
msgstr[2] "%d блюд"
@rajanit2000 i did as per code.. its was working but it another minicart not in the same mini cart as of theme. while theme minicart is still not updating... can you help me plse
@rajanit2000 i did as per code.. its was working but it another minicart not in the same mini cart as of theme. while theme minicart is still not updating... can you help me plse
Do you have any console error when try to update the cart? Can you please share your URL for better understanding
@rajanit2000, https://awalbathonline.com/home-eng.. plse check
@akmahaz11 But I can't find cart-contents
this class, Refer my screenshot
https://drive.google.com/file/d/1rLfQtMh8Am2qzZr8J7Kcv7YUq0abyTdm/view?usp=sharing
@rajanit2000, This is the issue, the header cart is not getting updated... how can i resolve this?
@rajanit2000, I am using Flatsome woocommerce theme
Can you please share your header.php file via email?
@rajanit2000, Ihave sent email for you ... please check your mail inbox
I've added throw new Exception('In function.'); to test if the function woocommerce_header_add_to_cart_fragment is being called and it's never called. Why?
To make this hook work perfectly just consider 2 things.
- set unique classname for the navbar cart icon like
<div class="nav-cart"><i class="fa fa-busket"></i><span class="nav-cart-total"> <?php $count;?></span>/div>
- in that filter have to edit this:
$cart_count = WC()->cart->cart_contents_count;
<span class="nav-cart-total"><?php echo $cart_count; ?></span>
<?php $fragments['span.nav-cart-total'] = ob_get_clean(); ?>
Will work delightfully!!!
Why not work on cart page and how to fix easy way?
Update count when cart page with ajax update.
jQuery(document.body).on('removed_from_cart updated_cart_totals', function () {
$(document.body).trigger('wc_fragment_refresh');
});
@rajanvijayan Working perfectly. Thank you.
Please auttakaa joku en tiedä onko tämä oikea paikka kysyä mutta minun Supercell ID on lukittu ja kun yritän mennä sinne uudella sähköpostilla ja id:llä tulee vaan anna palautuskoodit mistä mä voin löytää ne koodit ja miten mä voin päästä sinne omalle tilille ne takaisin kyseessä on hay day koodit
Thank you very much, works perfectly !