私がしなければならないこと: カートに追加する前に、商品をチェックしたいです。 より正確 には、カートに追加しようとしている製品と、すでに追加されている製品を比較して、競合があるかどうかを確認したいと考えています。 例: 「両方の靴」という名前の製品と、「左の靴」という製品があるとします。ユーザーが「左の靴」をカートに追加します。次に、「両方の靴」を追加します。「両方の靴」を追加する代わりにエラーを印刷したい: 申し訳ありませんが、カートに左の靴を追加した場合、両方の靴を追加することはできません。「両方の靴」を購入したい場合は、最初に「左の靴」を削除してください。
class-wc-cart.php を調べたところ、811行目にアクション フックが見つかりましたが、手遅れです。商品追加後です
"do_action( 'woocommerce_add_to_cart', $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data );"
add_to_cart メソッドは705行目から始まります。 http://wcdocs.woothemes.com/apidocs/source-class-WC_Cart.html#705
woocommerce をハッキングせずに、801 行目の前に「製品競合マネージャー」機能をフックするにはどうすればよいですか?
ありがとうございました!