0

我正在使用 Woothemes Woocommerce 预订。我希望用户能够在产品预订日期选择器中输入日期,并让系统在该日期前三周进行预订。例如,客户使用日期选择器选择 28/04/2018(2018 年 4 月 28 日),但预订日期为 07/04/2018(2018 年 4 月 7 日)。

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

4

1 回答 1

1

文档引用了一个称为钩子的钩子woocommerce_new_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();
}
于 2018-03-18T08:20:06.490 回答