在WooCommerce ajax购物车页面中,我尝试使用以下命令分离默认的javascript事件以删除添加的项目(带有十字的小红色图标):
$(".remove").off("click");
或
$(".remove").unbind("click");
但它没有用。
我尝试这样做的主要原因是因为,在标题中,我有一个带有产品编号通知的自定义菜单购物车图标。而且我也无法通过WooCommerce ajax更新此通知编号,而只能刷新页面。
如何禁用此 JavaScript 事件?或者如何使通知脚本与 ajax 一起使用?
这是我的菜单车代码:
<div id="expanded-menucart">
<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
?>
<div class="one-menucart-item">
<?php
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
$product_subtotal = apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subtotal( $_product, $cart_item['quantity']), $cart_item, $cart_item_key );
$quantity = $_product->get_stock_quantity();
$antal = $cart_item['variation']['attribute_antal'];
$productid = $cart_item['product_id'];
echo apply_filters( 'woocommerce_cart_item_remove_link', sprintf(
'<a href="%s" class="remove, cart-remove" title="%s" data-product_id="%s" data-product_sku="%s">×</a>',
esc_url( WC()->cart->get_remove_url( $cart_item_key ) ),
__( 'Remove this item', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() )
), $cart_item_key );
echo $thumbnail; ?>
<a id="<?php $productid; ?>" href="<?php the_permalink($productid); ?>"> <?php echo $cart_item['data']->post->post_title;?></a><br><br><?php
echo $antal;
echo $product_subtotal;?><br>
</div><?php
}
?>
<?php global $woocommerce; ?>
<p>TOTAL:
<a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>"><?php echo $woocommerce->cart->get_cart_total(); ?></a></p><br>
<?php if ( WC()->cart->get_cart_contents_count() != 0 ) { ?>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="menucart-checkout">
<a href="<?php get_home_url(); ?>/fcb/checkout">TILL CHECKOUTEN</a>
</div>
</div>
</div>
<?php } ?>
</div>
糊状物的外部来源:http://pastebin.com/7rXuBQPj
谢谢。
所以你的问题只在购物车页面时,因为在这种情况下你有 2 个购物车:
- 您的标题中有一个迷你购物车(带有通知,但没有数量按钮)。
- 您在页面内容中有普通购物车(没有该通知,但带有数量按钮)。
所以他们处于冲突之中,这是正常的。您将不得不在它们之间进行选择。
问题:您真的需要购物车页面上的迷你购物车吗?
2 种解决方案:
-
例如,在购物车页面上有一个轻量级迷你购物车版本(避免冲突和实时刷新项目(ajax 删除)),仅具有项目计数。或者,您可以为购物车页面完全禁用它。为此,您可以使用条件
is_cart()
。 -
要绕过购物车页面(困难得多)将缺少的功能扩展到实际的迷你购物车:
- 按物料行添加数量按钮
- 添加可选的优惠券字段功能
在案例2中,您将不得不将客户重定向到结帐,这是某些WooCommerce商店的经典行为。