【发布时间】:2014-01-20 04:49:51
【问题描述】:
我已经搜索过这个问题的答案,但找不到答案。
在我的 woocommerce 商店中,我希望网站顶部有一个购物篮图标。当客户将某物放入购物车时,他们希望将此图标换成其他图标 - 只要购物车不为空,此图标(“非空”)就会一直存在。
我要的是一个 PHP 类型的 if / else 调用,它说“如果购物车是空的,则显示图标 A,否则显示图标 B”。如果有人能对此有所了解,我将不胜感激!
我可以按照这个 woocommerce 教程动态更新购物车文本,
http://docs.woothemes.com/document/show-cart-contents-total/
在我的页面中
<?php global $woocommerce;
if($woocommerce->cart->get_cart_total()=='0') { ?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/empty_cart.png" alt="" width="30" height="30">
<?php }else{ ?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/full_cart.png" alt="" width="30" height="30">
<?php } ?>
<a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" >Your Cart : <?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>
在 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();
if($woocommerce->cart->get_cart_total()=='0') { ?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/empty_cart.png" alt="" width="30" height="30">
<?php
}else{ ?>
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/full_cart.png" alt="" width="30" height="30">
<?php }
?>
<a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" >Your Cart : <?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-contents'] = ob_get_clean();
return $fragments;
}
目前无论购物车中有什么,它都会显示这两个图像。 您可以在以下位置查看上述实现 http://fungass.com/testing/shop/uncategorized/abc/
【问题讨论】:
标签: ajax wordpress woocommerce cart shopping