Woocommerce 电子商务预订从选择日期减去周或天

Woocommerce 电子商务预订从选择日期减去周或天,woocommerce,woocommerce-bookings,Woocommerce,Woocommerce Bookings,我使用的是Woo商务预订。我希望用户能够在产品预订日期选择器中输入日期,并让系统在该日期前三周进行预订。 e、 g.客户使用日期选择器选择2018年4月28日至2018年4月28日,但预订日期为2018年4月7日至2018年4月7日 所有预订都是以5周35天为单位进行的,但他们输入的日期会导致他们的预订在该日期前21天为3周,之后14天为2周。客户只选择一个日期,没有开始日期和结束日期供他们选择。该文件引用了一个名为woocommerce\u new\u booking的钩子,您可以使用该钩子在

我使用的是Woo商务预订。我希望用户能够在产品预订日期选择器中输入日期,并让系统在该日期前三周进行预订。 e、 g.客户使用日期选择器选择2018年4月28日至2018年4月28日,但预订日期为2018年4月7日至2018年4月7日

所有预订都是以5周35天为单位进行的,但他们输入的日期会导致他们的预订在该日期前21天为3周,之后14天为2周。客户只选择一个日期,没有开始日期和结束日期供他们选择。

该文件引用了一个名为woocommerce\u new\u booking的钩子,您可以使用该钩子在将预订日期保存到数据库之前修改预订日期。此代码将预订开始和结束日期修改为选择日期前3周。将此代码添加到functions.php文件中


很好用!非常感谢!!
add_action( 'woocommerce_new_booking', 'modify_woocommerce_booking_date');

function modify_woocommerce_booking_date( $booking_id ) {
    $booking = new WC_Booking( $booking_id );

    $booking_start = $booking->get_start();
    $booking_end = $booking->get_end();

    $new_booking_start = strtotime ( '-3 week' , $booking_start ) ;
    $new_booking_end = strtotime ( '-3 week' , $booking_end ) ;

    $booking->set_start( $new_booking_start );
    $booking->set_end($new_booking_end);
    $booking->save();
}