我试图以编程方式添加可预订的产品,并最终进行一些努力 .
我正在使用自定义预订详细信息页面,我希望客户直接预订 . 我的方法是从这开始的:Add to cart bookable product by URL - WooCommerce Bookings
产品确实会添加到带有列出代码的购物车中,但我确实需要添加元数据,因为购物车显示错误,缺少持续时间且不能为0 .
<form class="cart" method="post" enctype="multipart/form-data">
<input type="hidden" name="add-to-cart" value="product_id" class="wc-booking-product-id" />
<input type="hidden" name="start-date" value="start_date">
<input type="hidden" name="end-date" value="end_date">
<input type="hidden" name="persons" value="1">
<input type="submit" name="book" class="check_btn" value="Buy">';
</form>
有了这个PHP:
if(isset($_POST['book'])){
global $woocommerce;
$woocommerce->cart->add_to_cart( $product_id );
}
do_action( 'woocommerce_after_add_to_cart_form' );
我相信有更好的解决方案,因为这似乎是一个可能留下其他问题的解决方法 . 此外,我想在将项目添加到购物车之前为项目添加更多元数据 .
2 回答
为了将产品放入购物车,我必须更改表格,如下所示:
主要困难是知道开始日期需要分别为年,月,日和时间 .
有一件事仍然困扰着我,根据一些内部计算设定购物车价格还不行 .
要更新购物车中的价格,您需要先删除计算预订/产品成本的操作 . 这是一个ajax调用,所以你需要在2个地方删除它 .
完成后,您可以添加自己的操作,以便使用自己的计算进行更新 .
如 -