STRreplase

Передача ajax в корзину woocommerce

Есть передача через ajax следующим образом

<srcipt>$('body').on('submit', '[data-name=add_to_cart]', function(e) {
var p_m = 333;
var s_o_v = 994;

$.ajax({
url: '<?php echo admin_url('admin-ajax.php') ?>',
type: 'POST',
data: 'action=add_custom_price&p_m='+p_m+'&s_o_v='+s_o_v, 
dataType: 'json',
success: function( response ) {	
alert( response );
}
});
});
</script>

в functions.php эти данные обрабатываются так

<?php
add_action ('wp_ajax_' . $_REQUEST['action'], 'add_custom_price'); 
add_action ('wp_ajax_nopriv_' . $_REQUEST['action'], 'add_custom_price'); 
add_action ('woocommerce_before_calculate_totals', 'add_custom_price');

function add_custom_price( $cart_object ) { 
$cena = trim(iconv_substr(strip_tags($_REQUEST['p_m']), 0, 50));
$custom_price = $cena > 0 ? $cena : 2;
$target_product_id = $_REQUEST['s_o_v'] > 0 ? $_POST['s_o_v'] : 0;   

foreach ( $cart_object->cart_contents as $key => $value ) {
//Single product
if ( $value['product_id'] == 994 ) {
     $value['data']->set_price($custom_price);
}
}
echo $custom_price; 
}
?>

Почему то в эту строку попадает 2 вместо $cena

<?php
$value['data']->set_price($custom_price);
?>

А возвращает в alert то что было передано через ajax, то есть 3330 (почему то с нулем в конце)

<?php
echo $cena;
?>
Anonymous
Отправить
Ответ на: