0

おそらく非常に簡単ですが、私のphpスキルは最高ではなく、解決しようとしても成功しませんでした。

次のようにショッピング カートを設定しました。

オーストラリアの居住者は常に送料無料 非居住者は 15 ドルですが、500 ドルを超える注文の場合は無料です

次のコードを使用します。

foreach( $cart_items as $items ) {
        if( $items['type'] == "purchase" ) {
            $amount = $amount + ( $items['price'] * $items['quantity'] );
        }else{
            $amount = $amount + ( $items['price'] * $items['quantity'] );
        }
    }

    $country = "";

    if( $order_details['billing_not_shipping'] ){
        $country = $order_details['shipping_country'];
    }else{
        $country = $order_details['billing_country'];
    }

    if( strtolower($country) == "australia" )
    {
        $this_quote = $simple_shipping_options[1]['order_fee'];
        foreach($cart_items as $cart_item){
            $this_quote += $cart_item['quantity'] * $simple_shipping_option['product_fee'];
        }
        $return_quotes[] = array(
            'name' => $simple_shipping_options[1]['name'],
            'total' => $this_quote,
        );
    }
    else
    {
        if( $amount > 500 ) {
            $this_quote = $simple_shipping_options[0]['order_fee'];
            foreach($cart_items as $cart_item){
                $this_quote += $cart_item['quantity'] * $simple_shipping_option['product_fee'];
            }
            $return_quotes[] = array(
                'name' => "Free Shipping for any order over $500",
                'total' => $this_quote,
            );
        }else{
            $this_quote = $simple_shipping_options[1]['order_fee'];
            foreach($cart_items as $cart_item){
                $this_quote += $cart_item['quantity'] * $simple_shipping_option['product_fee'];
            }
            $return_quotes[] = array(
                'name' => $simple_shipping_options[1]['name'],
                'total' => $this_quote,
            );
        }
    }

    return $return_quotes;
}

<table class="form-table awms_settings_shipping_simple">
<tr>
    <td scope="row"><label for="aus_residents">Free Shipping within Australia</label></td>
    <td><input name="shipping_custom_order_fee[]" type="text" id="aus_residents" value="<?php echo $shipping_custom[1]["order_fee"] ?>" />$ AUD</td>
    <input type="hidden" name="shipping_custom_name[]" value="Free shipping within Australia" />
</tr>
<tr>
    <td scope="row"><label for="aus_not_residents">Outside Australia</label></td>
    <td><input name="shipping_custom_order_fee[]" type="text" id="aus_not_residents" value="<?php echo $shipping_custom[1]["order_fee"]; ?>" /> $ AUD</td>
    <input type="hidden" name="shipping_custom_name[]" value="Outside Australia" />
</tr>

両方の状況で同じになるように設定する方法を知っている人はいますか?

4

1 に答える 1