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