質問: false; wc_add_notice('Your cart has more than available items for the selected dates', 'error' ); return $cart_updated; } else{ $cart_updated=true; } } return $cart_updated; } add_filter( 'woocommerce_update_cart_action_cart_updated', 'filter_woocommerce_update_cart_action_cart_updated', 10, 1 );Copy code ```
回答: ### 答え : #### 解決: あなたがここで見ることができるように。まず、アイテムごとの検証フック(`woocommerce_update_cart_validation` )があり、670行目(`$passed_validation` )はtrueであるため、アイテムはすでに渡されて更新されており、`woocommerce_update_cart_action_cart_updated`は遅れています。検証。 コンセプトの証明 ``` function filter_woocommerce_update_cart_action_cart_updated( $cart_updated ) { $cart_updated = false; if ( $cart_updated == false ) { wc_add_notice( __( 'my error', 'woocommerce' ), 'error' ); } return $cart_updated; } add_filter( 'woocommerce_update_cart_action_cart_updated', 'filter_woocommerce_update_cart_action_cart_updated', 10, 1 );Copy code ``` 編集: `woocommerce_update_cart_action_cart_updated`使用して、更新されたアイテムを`WC()->cart->set_quantity( $cart_item_key, $quantity );`再度調整することができます。 私の知る限り、アイテムごとの更新を妨げるフックはなく、その間にショッピングカート全体にチェックを適用します