こんにちは、カートの合計金額が 25 ユーロ以上の場合に 20% のクーポン割引を自動的に適用したいと考えています。前のユーザーのコードを見て、それを変更して functions.php に配置しようとしました。しかし、それは私にとってはうまくいきません - 私が間違っていることについての助けはありますか? functions.php に配置したコードは次のとおりです。
/* Mod: 20% Discount for orders over €25
Works with code added to child theme: woocommerce/cart/cart.php lines 13 - 14: which gets $subtotal of cart:
global $subtotal;
$subtotal= $woocommerce->cart->subtotal;
*/
add_action('woocommerce_before_cart_table', 'discount_when_order_greater_25');
function discount_when_order_greater_25( ) {
global $woocommerce;
global $subtotal;
if( $subtotal >= 25 ) {
$coupon_code = '20';
if (!$woocommerce->cart->add_discount( sanitize_text_field( $coupon_code ))) {
$woocommerce->show_messages();
}
echo '<div class="woocommerce_message"><strong>Your order is over €25 so a 20% Discount has been Applied!</strong> Your total order weight is <strong>' . $total_weight . '</strong> lbs.</div>';
}
}
/* Mod: 20% Discount for orders under €25 */
add_action('woocommerce_before_cart_table', 'remove_discount_when_order_less_25');
function remove_discount_when_order_less_25( ) {
global $woocommerce;
global $subtotal;
if( $subtotal < 25 ) {
$coupon_code = '20';
$woocommerce->cart->get_applied_coupons();
if (!$woocommerce->cart->remove_coupons( sanitize_text_field( $coupon_code ))) {
$woocommerce->show_messages();
}
$woocommerce->cart->calculate_totals();
}
}