php 从预订时间删除禁用日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 从预订时间删除禁用日期相关的知识,希望对你有一定的参考价值。
add_filter( 'ebdd_booking_duration', 'ebdd_remove_disabled_days_from_discount', 10, 3 );
function ebdd_remove_disabled_days_from_discount( $duration, $data, $id ) {
$start = strtotime( $data['start'] );
$end = strtotime( $data['end'] );
$days = array();
// Get all days and dates inside selected daterange
for ( $date = $start; $date <= $end; $date = strtotime( "+1 day", $date ) ) {
$day = date( 'w', $date );
if ( $day === '0' ) {
$day = '7';
}
$days[$day][] = $date;
}
// Get Easy Booking: Disable Dates settings
$ebdd_settings = get_option('ebdida_settings');
// Get disabled dates for all products
$global_disabled_dates = (array) $ebdd_settings['ebdida_disabled_dates'];
$product_disabled_dates = get_post_meta( $id, '_ebdida_disabled_dates', true );
$disabled_dates = array_merge( $product_disabled_dates, $global_disabled_dates );
if ( ! empty( $disabled_dates ) ) {
foreach ( $disabled_dates as $disabled_date ) {
if ( $disabled_date['type'] === 'ebdida_day' ) {
$weekday = $disabled_date['disabled'];
if ( array_key_exists( $weekday, $days ) ) {
foreach ( $days[$weekday] as $single_day ) {
$duration -= 1;
}
}
}
}
}
return $duration;
}
以上是关于php 从预订时间删除禁用日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jQuery datetimepicker 中禁用选定的日期和时间
php [轻松预订]从报告页面中删除“预订状态”列。
如何在 jQuery UI 日期选择器中禁用公共假期?
在 PHP 和 Mysql 的 jquery datepickers 中禁用给定范围内的日期
AntD React:在 DateRangePicker 中禁用特定日期的时间范围
选择第一个日期后禁用过去日期为datepicker