@GetCode

Как передать вторую цену через ajax в корзину woocommerce?

Потребовалось реализовать вывод второй цены по клику
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
Что я делаю не так?
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы