Просмотр Datepicker в зависимости от варианта доставки - PullRequest
0 голосов
/ 04 августа 2020

У меня есть следующие варианты доставки:

  • зона доставки 1: доставка пн-пт и в выходные
  • зона доставки 2: доставка только в выходные
  • забрать для обеих зон

I На основе Включение средства выбора даты в полях оформления заказа Woocommerce код ответа, я использую его для своей кассы WooCommerce page:

function enabling_date_picker() {
    // Only on front-end and checkout page
    if( is_admin() || ! is_checkout() ) return;

    // Load the datepicker jQuery-ui plugin script
    wp_enqueue_script( 'jquery-ui-datepicker' );
    wp_enqueue_style('jquery-ui', "https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/ui-lightness/jquery-ui.css", '', '', false);
}

// Add custom checkout datepicker field
add_action( 'woocommerce_review_order_before_payment', 'datepicker_custom_field' );
function datepicker_custom_field($checkout) {
    $datepicker_slug = 'toimituspäivä';

    echo '<div id="<h3>Valitse toimitus- /noutopäivä</h3">';

    woocommerce_form_field($datepicker_slug, array(
        'type' => 'text',
        'class'=> array( 'form-row-first my-datepicker'),
        'label' => __('<h3>Valitse toimitus- /noutopäivä</h3'),
        'required' => true, // Or false
    ), '' );

    echo '<br clear="all"></div>';


    // Jquery: Enable the Datepicker
    ?>
    <script language="javascript" id="kaikki">
    jQuery( function($){
        var a = '#<?php echo $datepicker_slug ?>';
        $(a).datepicker({
            dateFormat: 'yy-mm-dd',
            minDate: '+3d' // ISO formatting date
        });
        
        if(jQuery('.contactForm').length){ jQuery(function($){ $.datepicker.regional['fi'] = { closeText: 'Sulje', prevText: '«Edellinen', nextText: 'Seuraava»', currentText: 'Tänään', monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kesäkuu', 'Heinäkuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'], monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kesä', 'Heinä','Elo','Syys','Loka','Marras','Joulu'], dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'], dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'], dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'], weekHeader: 'Vk', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''}; $.datepicker.setDefaults($.datepicker.regional['fi']); }); }
    });
    </script>
    <?php
}

Я хотел бы показать разные представления datepicker в зависимости от того, какой вариант доставки выбран:

Выбрана зона 1 -> доступны все дни (мин. +3 дня с сегодня) Выбрана зона 2 -> доступны только выходные.

Как мне это сделать?

...