На основе " Получить выбранную цену вариации в jQuery для продуктов Woocommerce Variable * " код ответа на один из моих последних вопросов, этот код дает пользователям возможность ввода параметров продукта, и яЯ пытаюсь использовать значения для расчета цены, отображаемой для пользователя, но я не могу понять это.
Весь код работает, кроме части над окном предупреждающего сообщения.Я попытался добавить функцию фильтрации get_price_html()
внутри тегов php над предупреждением, но она показывает все виды ошибок.
Можно ли просто использовать JavaScript для изменения отображаемой цены?
Это код, который я на самом деле использую:
add_action( 'woocommerce_before_add_to_cart_quantity', 'func_option_valgt');
function func_option_valgt() {
global $product;
if ( $product->is_type('variable') ) {
$variations_data =[]; // Initializing
// Loop through variations data
foreach($product->get_available_variations() as $variation ) {
// Set for each variation ID the corresponding price in the data array (to be used in jQuery)
$variations_data[$variation['variation_id']] = $variation['display_price'];
}
?>
<script>
jQuery(function($) {
var jsonData = <?php echo json_encode($variations_data); ?>,
inputVID = 'input.variation_id';
$('input').change( function(){
if( '' != $(inputVID).val() ) {
var vid = $(inputVID).val(), // VARIATION ID
length = $('#cfwc-title-field').val(), // LENGTH
diameter = $('#diameter').val(), // DIAMETER
vprice = ''; // Initilizing
// Loop through variation IDs / Prices pairs
$.each( jsonData, function( index, price ) {
if( index == $(inputVID).val() ) {
vprice = price; // The right variation price
}
});
var rope_price = length*vprice;
document.cookie = 'rope_price_cookie='+rope_price;
////////// This is where I would like to add some code to change the displayed price //////
$('price') = rope_price; /// something like this, only it doesn't work :(
alert('variation Id: '+vid+' || Length: '+length+' || Diameter: '+diameter+' || Variantprice: '+vprice+' ||Rope price: '+rope_price);
}
}
});
});
</script>
<?php
}
}
Любая помощь приветствуется.