如果要显示任何项目,我想在标题上显示购物车的内容。如果为空,那么我想显示一些自定义内容,例如“购物车为空”。它必须与Ajax添加到购物车一起使用。
按照一些通用指南,我编写了以下代码:
在标题中
<div id="asd-woo-mini-cart">
<?php if (WC()->cart->get_cart_contents_count() == 0) {
echo 'cart is empty';
}else{
echo the_widget( 'WC_Widget_Cart');
} ?>
</div>
在functions.php中
function asd_header_add_to_cart_fragment( $fragments ) {
ob_start();
if (WC()->cart->get_cart_contents_count() == 0) { ?>
<div id="asd-woo-mini-cart">
<?php echo 'cart is empty'; ?>
</div><?php
}else{ ?>
<div id="asd-woo-mini-cart">
<?php echo the_widget( 'WC_Widget_Cart' ); ?>
</div><?php
}
$fragments['div#asd-woo-mini-cart'] = ob_get_clean();
return $fragments;
}
add_filter( 'woocommerce_add_to_cart_fragments', 'asd_header_add_to_cart_fragment' );
除了不显示任何当前项目外,所有内容均有效。出于某种原因,该小部件仅加载购物车和<div class="widget-shopping-cart-content"></div>
标签的标题,但是不会显示其中应包含的产品。
我需要一些帮助来了解为什么它不起作用以及如何解决。任何帮助表示赞赏。