使用 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