WooCommerce预订:在产品页面上触发AJAX重新计算预订费用

时间:2019-11-09 14:19:13

标签: wordpress woocommerce woocommerce-bookings

我在WooCommerce Bookings中的date-picker.php模板中添加了几个新字段,并且需要在更新这些字段时在产品页面上触发AJAX重新计算预订费用。

当前,当date-picker.php中的标准字段更新时,将触发此重新计算。但是,我将使用其他字段来重新计算工期和预订费用,因此,我还需要在对新字段进行更新时触发此AJAX重新计算。

如何触发AJAX重新计算?我尝试仅在标准字段之一上触发change事件,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。如果将来对某人有帮助,请在这里解决我的问题:

转到 /wp-content/plugins/woocommerce-bookings/templates/single-product/add-to-cart/booking.php 这是单一产品预订表格的模板。 然后,您可以在<?php do_action( 'woocommerce_before_add_to_cart_button' ); ?>中移动诸如<div id="wc-bookings-booking-form"/>.之类的动作之一(或创建自己的动作) 现在,向此操作添加一个自定义字段或代码(我使用了wc-fields-factory)。在预订表单中更改字段值时,将触发AJAX重新计算。 您可以在您的functions.php文件(主题内)中插入此触发器,以基于添加的自定义字段来更改成本,如下所示:

add_filter( 'booking_form_calculated_booking_cost', 'my_booking_cost', 10, 3 );
function my_booking_cost( $booking_cost, $booking, $posted ) { 
/* use fields here to show a new booking cost*/
      $my_time = $posted[ <name of custom field> ]; //access field within booking form
     $booking_cost = 1; //whatever your calc is
     return $booking_cost;
}