Пользовательское Ajax добавление в корзину и изменение цены продукта в WooCommerce ⇐ Jquery
Пользовательское Ajax добавление в корзину и изменение цены продукта в WooCommerce
Мне нужна помощь, пожалуйста. У меня есть следующий ajax-запрос спереди
jQuery(document).ready(function($) { $('#PaymentButton').click(function() { вар product_id = 14589; // Замените идентификатором продукта, который вы хотите процитировать вар product_price = 200; // Замените желаемую измененную цену - новую цену var ajaxurl = ''; $.post(ajaxurl, { действие: 'quote_product', Product_id: Product_id, Product_price: Product_price }, функция(ответ){ window.location.href = response.redirect_url; }); }); }); А в файле function.php у меня есть
add_action('wp_ajax_quote_product', 'quote_product'); add_action('wp_ajax_nopriv_quote_product', 'quote_product'); функция quote_product() { // Получаем данные формы $product_id = $_REQUEST['product_id']; $product_price = floatval($_REQUEST['product_price']); // Преобразуем цену в десятичное число WC()->cart->add_to_cart($product_id, 1, $variation_id = 0, array(), array('total' => $product_price)); add_action('woocommerce_before_calculate_totals', function ($cart) use ($product_id, $product_price) { //if (is_admin() && !defined('DOING_AJAX')) return; foreach ($cart->get_cart() as $cart_item_key => $cart_item) { // Проверяем, тот ли это продукт, который вы хотите изменить if ($cart_item['product_id'] == $product_id) { // Определите новую цену, которую вы хотите назначить $new_price = $product_price; // Устанавливаем новую цену на товар $cart_item['data']->set_price($new_price); // Обновляем корзину $cart->cart_contents[$cart_item_key] = $cart_item; } } }); wp_die(); //здесь мне нужен код для перенаправления на страницу оплаты } Протестировал, но не получилось, надеялся, что нажав на кнопку с id=#pagoboton можно будет добавить в корзину конкретный товар, изменив его цену и перенаправив на страницу оплаты
Мне нужна помощь, пожалуйста. У меня есть следующий ajax-запрос спереди
jQuery(document).ready(function($) { $('#PaymentButton').click(function() { вар product_id = 14589; // Замените идентификатором продукта, который вы хотите процитировать вар product_price = 200; // Замените желаемую измененную цену - новую цену var ajaxurl = ''; $.post(ajaxurl, { действие: 'quote_product', Product_id: Product_id, Product_price: Product_price }, функция(ответ){ window.location.href = response.redirect_url; }); }); }); А в файле function.php у меня есть
add_action('wp_ajax_quote_product', 'quote_product'); add_action('wp_ajax_nopriv_quote_product', 'quote_product'); функция quote_product() { // Получаем данные формы $product_id = $_REQUEST['product_id']; $product_price = floatval($_REQUEST['product_price']); // Преобразуем цену в десятичное число WC()->cart->add_to_cart($product_id, 1, $variation_id = 0, array(), array('total' => $product_price)); add_action('woocommerce_before_calculate_totals', function ($cart) use ($product_id, $product_price) { //if (is_admin() && !defined('DOING_AJAX')) return; foreach ($cart->get_cart() as $cart_item_key => $cart_item) { // Проверяем, тот ли это продукт, который вы хотите изменить if ($cart_item['product_id'] == $product_id) { // Определите новую цену, которую вы хотите назначить $new_price = $product_price; // Устанавливаем новую цену на товар $cart_item['data']->set_price($new_price); // Обновляем корзину $cart->cart_contents[$cart_item_key] = $cart_item; } } }); wp_die(); //здесь мне нужен код для перенаправления на страницу оплаты } Протестировал, но не получилось, надеялся, что нажав на кнопку с id=#pagoboton можно будет добавить в корзину конкретный товар, изменив его цену и перенаправив на страницу оплаты
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Пользовательское добавление в корзину WooCommerce с помощью кнопок количества
Anonymous » » в форуме Php - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Пользовательское добавление в корзину WooCommerce с помощью кнопок количества
Anonymous » » в форуме Jquery - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-