Я искал ответ на этот вопрос, но не смог его найти.Обновление значка корзины покупок woocommerce динамически с помощью ajax
В моем магазине woocommerce я хочу значок корзины в верхней части сайта. Когда клиент кладет что-то в корзину, они хотят поменять этот значок на другой - этот значок («не пустой») останется до тех пор, пока тележка не будет пуста.
Что мне нужно - это вызов if-else типа PHP, в котором говорится: «Если корзина пуста, отобразите значок 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/
Это было очень полезно. благодаря – harryg