我的迷你购物车可以将列表中的产品添加到完全正常的状态,但是在删除它们之后会遇到一些问题。
目前,如果您点击按钮设置以删除该特定项目,则会删除所有这些项目,就像它只是将购物车刷新回新版本一样。
当在日志中发生这种情况时,我们会通过这条长消息
post was called incorrectly. Product properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_add_to_cart'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::add_to_cart, WC_AJAX::get_refreshed_fragments, woocommerce_mini_cart, wc_get_template, include('/themes/foodpicky-child/woocommerce/cart/mini-cart.php'), do_action('woocommerce_before_mini_cart'), WP_Hook->do_action, WP_Hook->apply_filters, filter_woocommerce_add_to_cart_validation_new, WC_Abstract_Legacy_Product->__get, wc_doing_it_wrong. This message was added in version 3.0.
我认为这与它有关。
作为一个注释,如果你进入chrome dev工具并点击手动点击应用于该按钮,那么这可以很好地完成并按预期删除产品!
关于我应该去哪看的任何想法?
我认为解决这个问题的部分是:
<li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">
<?php
echo apply_filters( 'woocommerce_cart_item_remove_link', sprintf(
'<a href="%s" class="remove remove_from_cart_button" aria-label="%s" data-product_id="%s" data-cart_item_key="%s" data-product_sku="%s">×</a>',
esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
__( 'Remove this item', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() ),
esc_attr( $cart_item_key )
), $cart_item_key );
?>