При выборе опции отсюда, появится другое поле ввода. Проверка почтового индекса. Если почтовый индекс подтвержден, будет добавлена плата. Теперь выберите вариант в поле выбора, сборы будут добавлены. Я хочу, чтобы выберите опцию и после того, как почтовый индекс Доступен, будет добавлена плата. Как мне это сделать?
Это HTML код:
<select name="chosen_packing" id="chosen_packing" class="select " data-allow_clear="true" data-placeholder="Choose a packing option ...">
<option value="" selected="selected">Choose a packing option ...</option>
<option value="bag">Driver Delivery ($22.00)</option>
<option value="box">Couriar Delivery ($33.00)</option>
</select>
<input style="display: none;" type="text" placeholder="Zipcode check" name="zipcode" id="ddo">
<input style="display: none;" type="text" name="state" id="cdo">
if(isset($_POST['zipcode'])){
$zipcode = $_POST['zipcode'];
global $wpdb;
$query = "select * from wp_woocommerce_shipping_zone_locations where location_code = '$zipcode'";
$result = mysqli_query($con,$query);
if(mysqli_num_rows($result) != 1){
$response = "<span style='color: red;'>zip code Not Available.</span>";
}else{
$response = "<span style='color: green;'>zip code Available.</span>";
}
echo $response;
die;
}
// Add a custom dynamic packaging fee
add_action( 'woocommerce_cart_calculate_fees', 'add_packaging_fee', 20, 1 );
function add_packaging_fee( $cart) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$domain = "woocommerce";
$packing_fee = WC()->session->get( 'chosen_packing' ); // Dynamic packing fee
if ( $packing_fee === 'bag' ) {
$label = "Driver Delivery";
$cost = 22;
} elseif ( $packing_fee === 'box' ) {
$label = __("Courier Delivery", $domain);
$cost = 33;
}
if ( isset($cost) )
$cart->add_fee( $label, $cost );
}
// Field validation, as this packing field is required
add_action('woocommerce_checkout_process', 'packing_field_checkout_process');
function packing_field_checkout_process() {
// Check if set, if its not set add an error.
if ( isset($_POST['chosen_packing']) && empty($_POST['chosen_packing']) )
wc_add_notice( __( "Please choose a packing option...", "woocommerce" ), 'error' );
}