客制化配送日期

使用 Checkout Field Editor for WooCommerce 新增
日期欄為"additional_deliver_date"

規則條件,Today+2天,以及六、日、一不能選擇

add_action('wp_footer', 'disable_weekend_and_past_dates_script');
function disable_weekend_and_past_dates_script() {
    ?>
    <script>
    document.addEventListener("DOMContentLoaded", function () {
        const dateField = document.getElementById('additional_deliver_date');

        // 設定最小可選日期為今天加兩天
        const today = new Date();
        const minDate = new Date(today.setDate(today.getDate() + 2)).toISOString().split('T')[0];
        dateField.setAttribute('min', minDate);

        dateField.addEventListener('input', function () {
            const selectedDate = new Date(this.value);
            const day = selectedDate.getDay(); // 取得星期幾,0 是星期日,6 是星期六

            // 如果是星期六(6),星期日(0) 或 星期一(1),則清空日期欄位
            if (day === 0 || day === 6 || day === 1) {
                alert("無法選擇週六、週日或週一,請選擇其他日期。");
                this.value = '';
            }

            // 如果選擇的日期在今天+2天之前,則清空日期欄位
            if (selectedDate < new Date(minDate)) {
                alert("您只能選擇今天加兩天之後的日期。");
                this.value = '';
            }
        });
    });
    </script>
    <?php
}

維護購物站10幾年的經驗,此規則就差不多通殺了 XD

瀏覽次數:16