Checkout shipping information form

PHOTO EMBED

Sat Jan 28 2023 19:00:38 GMT+0000 (Coordinated Universal Time)

Saved by @itaiki

<?php

/**
 * Checkout shipping information form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-shipping.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @package WooCommerce\Templates
 * @version 3.6.0
 * @global WC_Checkout $checkout
 */

defined('ABSPATH') || exit;
?>
<div id="billingDetailsCont">
	<div class="woocommerce-billing-fields__field-wrapper">
		<div class="form-row-wide" id="shipping_option_field">
			<label for="shipping_option_free" class="shipping_option_free_label">לאן ומתי שולחים</label>
			<span class="woocommerce-input-wrapper">
				<div class="shipping-list">
					<input type="radio" class="input-radio " value="free" name="shipping_option" id="shipping_option_free" checked='checked' />
					<label for="shipping_option_free" class="radio ">משלוח חינם</label>
				</div>

				<div class="shipping-list">
					<input type="radio" class="input-radio " value="pickup" name="shipping_option" id="shipping_option_pickup" />
					<label for="shipping_option_pickup" class="radio ">איסוף עצמי (הרכב 7 תל אביב)</label>
				</div>

				<div class="shipping-list">
					<input type="radio" class="input-radio " value="overseas" name="shipping_option" id="shipping_option_overseas" />
					<label for="shipping_option_overseas" class="radio ">משלוח לחו״ל - 50 ש״ח</label>
				</div>

                <div class="shipping-list">
					<input type="radio" class="input-radio " value="express" name="shipping_option" id="shipping_option_express" />
					<label for="shipping_option_express" class="radio ">משלוח אקספרס לערים נבחרות בלבד</label>
				</div>
			</span>
		</div>

		<div class="form-row-first" id="city_dropdown_field">
			<label for="city_dropdown" class="">עיר&nbsp;<abbr class="required" title="נדרש">*</abbr></label>
			<span class="woocommerce-input-wrapper">
				<select name="city_dropdown" id="city_dropdown" class="" autocomplete="on" data-placeholder="בחירת עיר">
					<option value=""></option>
					<?php
					// Iterate all zones.
					$shippingZones = get_field('shipping_zone', 'options');

					// Iterate them.
					foreach ($shippingZones as $key => $shippingZone) {

						// Iterate cities.
						$cities = explode(PHP_EOL, $shippingZone['city_select']);
						foreach ($cities as $city) : ?>
							<option value="<?php echo normalize_whitespace($city); ?>"
                                    data-zone-id="zone_<?php echo $key + 1; ?>"
                                    data-shipping_option="<?php echo $shippingZone['shipping_options']; ?>"
                            >
								<?php echo normalize_whitespace($city); ?>
							</option>
						<?php endforeach; ?>
					<?php } ?>
				</select>
			</span>
		</div>

        <script id="cityZones">
            const ohmyboxCityZones = {
                <?php foreach ($shippingZones as $key => $shippingZone): ?>
                <?= 'zone_' . ($key + 1) ?>: {
                    minDays: <?= $shippingZone['time_to_work_on_box'] ?>,
                    weekDays: [<?= implode(', ', $shippingZone['select_working_days']) ?>],
                },
                <?php endforeach; ?>
            }
        </script>

		<div class="form-row-last" id="delivery_date_field">
			<label for="delivery_date" class="">בחירת תאריך לקבלת קופסא&nbsp;<abbr class="required" title="נדרש">*</abbr></label>
			<span class="woocommerce-input-wrapper">
				<input type="text" class="input-text" name="delivery_date" id="delivery_date" placeholder="תאריך לקבלת הקופסא" value="" disabled autocomplete="off" />
			</span>
		</div>

		<div id="checkout-text">
			<p class="form-row-wide israel_text" style="color:#E40E20; text-align: center; padding: 10px;display:block;"><?php echo get_field('israel_text', 'option'); ?></p>
			<p class="form-row-wide pickup_text" style="color:#E40E20; text-align: center; padding: 10px;display:none;"><?php echo get_field('pickup', 'option'); ?></p>
			<p class="form-row-wide overseas_text" style="color:#E40E20; text-align: center; padding: 10px;display:none;"><?php echo get_field('overseas', 'option'); ?></p>
			<p class="form-row-wide express_text" style="color:#E40E20; text-align: center; padding: 10px;display:none;"><?php echo get_field('express', 'option'); ?></p>
		</div>

		<h3 id="billingDetailsHead"><?php esc_html_e('Billing details', 'woocommerce'); ?> </h3>

		<?php
		$fields = $checkout->get_checkout_fields('billing');
		foreach ($fields as $key => $field) {
			woocommerce_form_field($key, $field, $checkout->get_value($key));
		} ?>
	</div>

	<div class="woocommerce-shipping-fields">
		<?php if (true === WC()->cart->needs_shipping_address()) : ?>

			<h3 id="ship-to-different-address">
				<label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox">
					<input id="ship-to-different-address-checkbox" class="woocommerce-form__input woocommerce-form__input-checkbox input-checkbox" <?php checked(apply_filters('woocommerce_ship_to_different_address_checked', 'shipping' === get_option('woocommerce_ship_to_destination') ? 1 : 0), 1); ?> type="checkbox" name="ship_to_different_address" value="1" /> <span><?php esc_html_e('Ship to a different address?', 'woocommerce'); ?></span>
				</label>
			</h3>

			<div class="shipping_address">

				<?php do_action('woocommerce_before_checkout_shipping_form', $checkout); ?>

				<div class="woocommerce-shipping-fields__field-wrapper">
					<?php
					$fields = $checkout->get_checkout_fields('shipping');

					foreach ($fields as $key => $field) {
						woocommerce_form_field($key, $field, $checkout->get_value($key));
					}
					?>
				</div>

				<?php do_action('woocommerce_after_checkout_shipping_form', $checkout); ?>

			</div>

		<?php endif; ?>
	</div>

	<div class="woocommerce-additional-fields">
		<?php do_action('woocommerce_before_order_notes', $checkout); ?>

		<?php if (apply_filters('woocommerce_enable_order_notes_field', 'yes' === get_option('woocommerce_enable_order_comments', 'yes'))) : ?>

			<?php if (!WC()->cart->needs_shipping() || wc_ship_to_billing_address_only()) : ?>

				<h3><?php esc_html_e('Additional information', 'woocommerce'); ?></h3>

			<?php endif; ?>

			<div class="woocommerce-additional-fields__field-wrapper">
				<?php foreach ($checkout->get_checkout_fields('order') as $key => $field) : ?>
					<?php woocommerce_form_field($key, $field, $checkout->get_value($key)); ?>
				<?php endforeach; ?>
			</div>

		<?php endif; ?>

		<?php do_action('woocommerce_after_order_notes', $checkout); ?>
	</div>
</div>
content_copyCOPY