/** * Add product to cart * * @return string JSON */ public function executeAddToWoocommerceCart() { if (!get_option('ab_woocommerce')) { exit(0); } $response = null; $userData = new AB_UserBookingData($this->getParameter('form_id')); if ($userData->load()) { $session = WC()->session; /** @var WC_Session_Handler $session */ if ($session instanceof WC_Session_Handler and $session->get_session_cookie() === false) { $session->set_customer_session_cookie(true); } WC()->cart->add_to_cart($this->product_id, $userData->get('number_of_persons'), '', array(), array('bookly' => $userData->getData())); $response = array('status' => 'success'); } else { $response = array('status' => 'error', 'error' => __('Session error.', 'bookly')); } // Output JSON response. wp_send_json($response); }