Skip to content

Instantly share code, notes, and snippets.

@woogists
Last active December 31, 2023 10:08
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save woogists/c0a86397015b88f4ca722782a724ff6c to your computer and use it in GitHub Desktop.
Save woogists/c0a86397015b88f4ca722782a724ff6c to your computer and use it in GitHub Desktop.
[Theming Snippets] Show cart contents / total Ajax
/**
* Show cart contents / total Ajax
*/
add_filter( 'woocommerce_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 esc_url(wc_get_cart_url()); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php echo sprintf(_n('%d item', '%d items', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?> - <?php echo $woocommerce->cart->get_cart_total(); ?></a>
<?php
$fragments['a.cart-customlocation'] = ob_get_clean();
return $fragments;
}
@abulooz
Copy link

abulooz commented Jun 25, 2020

@JeffNicholls97

Yes, just add this to you themes function file:
add_shortcode (woocommerce_header_add_to_cart_fragment', 'woocommerce_header_add_to_cart_fragment' );

Then use the short code wherever you want

For example:

add_shortcode ('woo_cart_but', 'woo_cart_but' );
/**

  • Create Shortcode for WooCommerce Cart Menu Item
    */
    function woo_cart_but() {
    ob_start();

     $cart_count = WC()->cart->cart_contents_count; // Set variable for cart item count
     $cart_url = wc_get_cart_url();  // Set Cart URL
    
     ?>
     <li><a class="menu-item cart-contents" href="<?php echo $cart_url; ?>" title="My Basket">
     <?php
     if ( $cart_count > 0 ) {
    ?>
         <span class="cart-contents-count"><?php echo $cart_count; ?></span>
     <?php
     }
     ?>
    

       
<?php

return ob_get_clean();

}

@farshad4-samadi
Copy link

Hello
this code for ajax does not work for me.
i thinks it needs update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment