Потребовалось реализовать вывод второй цены по клику
C помощью ajax передаю переменные в functions.php (wordpress) и похоже с этим проблем нет.
Далее код обработчика в functions.php где я голову уже сломал
add_action ('wp_ajax_add_custom_price', 'add_custom_price');
add_action ('wp_ajax_nopriv_add_custom_price', 'add_custom_price');
add_action ('woocommerce_before_calculate_totals', 'add_custom_price');
function add_custom_price( $cart_object ) {
$custom_price = $_REQUEST['regular'] > 0 ? $_REQUEST['regular'] : 0; //для проверки в $_REQUEST['regular'] передается 1
$s = 1;
$p = 2;
if($custom_price == 1){
foreach ( $cart_object->cart_contents as $key => $value ) {
if($value['data']->get_id() == 994){
$value['data']->set_price($s);
}
}
$my_exit = 1;
}else{
foreach ( $cart_object->cart_contents as $key => $value ) {
if($value['data']->get_id() == 994){
$value['data']->set_price($p);
}
}
$my_exit = 2;
}
echo $my_exit;
}
$my_exit и $custom_price возвращают 1, но в set_price попадает 2
Что я делаю не так?