Я пытаюсь передать пользовательскую цену / пользовательские атрибуты в корзину woocommerce со обычной страницы WordPress с использованием PHP и Ajax, но не могу выполнить работу динамически.
Я работаю с приложением AJAX, встроенным на нашем сайте разработчиков, которое по существу вычисляет общее количество на основе настроенных вариантов продукта. Я пытаюсь получить общее количество оттуда и отправить товар в корзину Woocommerce (цена по умолчанию 0,00) и переопределить цену там.
Я работал с неким PHP, представленным здесь с очень похожими обстоятельствами, но я думаю, что чего-то не хватает: Добавление товара в корзину с пользовательской информацией и ценой
Я могу установить статическую цену, используя хук 'woocommerce_before_calculate_totals', но, используя код, указанный в приведенной выше ссылке, я не могу "передать" пользовательскую цену в корзину с помощью кнопки AJAX. Данные POST никогда не достигают функции PHP. Я пытаюсь сделать это прямо сейчас, используя кнопку с кодом AJAX для создания поста, но я продолжаю бить по стенам. Я думаю, что у меня неправильное представление о чем-то здесь. Я использую статическую цену в ajax ниже.
jQuery(function(){
jQuery('#newQuoteBtn').on('click', function(e){
e.preventDefault();
jQuery.ajax({
url: '/wp-content/plugins/override_price.php',
type: 'post',
data: { 'custom_options': {'action': 'newquote', 'newprice': '555.55', 'quotenum': '1234567890'}},
success: function(data, status) {
/* Product added and redirect to cart */
console.log('success');
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
}); // end ajax call
});
});
Я ожидал, что данные будут переданы в PHP, который позаботится о переопределении цены оттуда, но я не могу получить переменные в PHP. В комментариях авторов указывалось, что этот код помещается в файл functions.php, но как мне разместить там данные? Где-то здесь есть разъединение, и мне нужна помощь, чтобы осветить правильный способ решения этой проблемы.