2
私はURLでカート予約可能な製品に追加する方法Woocommerce Bookings
URLでカート予約可能な製品に追加 - WooCommerce予約
を使用していますか?
/?add-to-cart=[n.product]
バリエーションを持つ有効期限をどのように渡すことができますか?
おかげ
私はURLでカート予約可能な製品に追加する方法Woocommerce Bookings
URLでカート予約可能な製品に追加 - WooCommerce予約
を使用していますか?
/?add-to-cart=[n.product]
バリエーションを持つ有効期限をどのように渡すことができますか?
おかげ
私は最近、同じ問題に遭遇したが、私は解決策を発見しました。
// woocommerce-bookings/includes/class-wc-booking-cart-manager.php : ln 256
$booking_form = new WC_Booking_Form($product);
$cart_item_meta['booking'] = $booking_form->get_posted_data($_POST);
$cart_item_meta['booking']['_cost'] = $booking_form->calculate_booking_cost($_POST);
// Create the new booking
$new_booking = $this->create_booking_from_cart_data($cart_item_meta, $product_id);
:WooCommerce予約は、あなたがプラグインのソースで見ることができるように、データが
POST
方法を介して送信されることを想定しているため
それだけでURLの最後に右の変数を追加することで予約可能な製品を追加することはできません
と:この代わりに
// woocommerce-bookings/includes/class-wc-booking-cart-manager.php : ln 276
private function create_booking_from_cart_data($cart_item_meta, $product_id, $status = 'in-cart') {
// Create the new booking
$new_booking_data = array(
'product_id' => $product_id, // Booking ID
'cost' => $cart_item_meta['booking']['_cost'], // Cost of this booking
'start_date' => $cart_item_meta['booking']['_start_date'],
'end_date' => $cart_item_meta['booking']['_end_date'],
'all_day' => $cart_item_meta['booking']['_all_day'],
);
:
<a href="/?add-to-cart=product_id">Add to cart</a>
送信ボタンとして[カートに追加]ボタン/リンクを使用して、いくつかの非表示フィールドを含むフォームを作成する必要があります。
このような何か:
<form method="post" action="/">
<input type="hidden" name="add-to-cart" value="product_id">
<input type="hidden" name="wc_bookings_field_start_date_year" value="booking_start_date_year">
<input type="hidden" name="wc_bookings_field_start_date_month" value="booking_start_date_month">
<input type="hidden" name="wc_bookings_field_start_date_day" value="booking_start_date_day">
<button type="submit">Add to cart</button>
</form>