checkout в woocommerce

134
27 апреля 2018, 12:47

Я не силен в javascript, но может кто подскажет:

Это стандартный checkout в woocommerce, только с примененным плагином пошагового оформления покупки.

1) Есть чекбокс оформить доставку, по которой выпадает форма доставки. Требуется добавить чекбокс "Самовывоза" (или поменять чекбоксы на радиокнопки), чтобы клиент мог выбрать только один пункт. При выборе самовывоза должно выпадать поле с адресом (их будет два, но для начала хотя бы один).

2) Чтобы была автоочистка формы адреса доставки в случае, если клиент передумал и снял чек.

Исходно все выглядит так:

<?php
    if ( ! defined( 'ABSPATH' ) ) {
        exit; // Exit if accessed directly
    }
    ?>
    <div class="woocommerce-shipping-fields">
        <?php if ( true === WC()->cart->needs_shipping_address() ) : ?>
            <h3 id="ship-to-different-address">
                <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 ), 0 ); ?> type="checkbox" name="ship_to_different_address" value="1" /> 
                <label class="woocommerce-form__label woocommerce-form__label-for-checkbox checkbox" for="ship-to-different-address-checkbox">
                    <span><?php _e( 'Оформить доставку?', '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 ) {
                            if ( isset( $field\['country_field'\], $fields\[ $field\['country_field'\] \] ) ) {
                                $field\['country'\] = $checkout->get_value( $field\['country_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 _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>

Скрин: https://i.stack.imgur.com/PzEYB.jpg

READ ALSO
Связи associated в Cake PHP 3.6

Связи associated в Cake PHP 3.6

использую плагин CakeDCхочу к таблице users привязать другую таблицу player_heroes

138
Нет изменений при вызове процедуры в WP

Нет изменений при вызове процедуры в WP

Есть такая часть кода, которая не работает

104
Запуск старого проекта

Запуск старого проекта

В руки попал очень старый проект, судя по синтаксису - примерно из 2013Нормально пытаюсь запустить на PHP 5

127
Работа с формами номер телефона

Работа с формами номер телефона

Как сделать что бы при нажатии на форма появлялось +7()___ и данные вписывались внутрь?

138