は、あなたが期待している何をしますwoocommerce_cart_calculate_fees
アクションフックに引っかけカスタム関数です:
add_action('woocommerce_cart_calculate_fees','cart_conditional_discount', 10, 1);
function cart_conditional_discount($cart_object) {
if (is_admin() && ! defined('DOING_AJAX'))
return;
$cart_count = 0;
foreach($cart_object->get_cart() as $cart_item){
// Adds the quantity of each item to the count
$cart_count += $cart_item["quantity"];
}
// For 0 or 1 item
if($cart_count < 2) {
return;
}
// More than 1
else {
// Discount calculations
$modulo = $cart_count % 2;
$discount = (-$cart_count + $modulo);
// Adding the fee
$discount_text = __('Discount', 'woocommerce');
$cart_object->add_fee($discount_text, $discount, false);
}
}
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルに行きますかすべてのプラグインファイルでも使用できます。
このコードはテスト済みであり、動作します。
$ discount =( - $ cart_count + $ modulo)* 2; '... – Reigel
@Reigel質問はあまり明確ではありません...明らかにOPはプログレッシブディスカウント2 $ each 2 items ...私のコードはこのケースで動作します。 – LoicTheAztec
はい、それは明らかではないと同意した。 – Reigel