@MisTFoR

Как правильно отредактирвать данный калькулятор?

Здравствуйте!
У меня в карточке товара есть калькулятор:
add_filter( 'woocommerce_add_cart_item_data', 'custom_add_cart_item_data', 20, 2 );
function custom_add_cart_item_data( $cart_item, $product_id ){

    if( isset( $_POST['height_option'] ) )
        $cart_item['custom_data']['height'] = sanitize_key( $_POST['height_option'] );

    if( isset( $_POST['width_option'] ) )
        $cart_item['custom_data']['width'] = sanitize_key( $_POST['width_option'] );

    // Make calculation and save calculated  price
    if( isset( $_POST['height_option'] ) && isset( $_POST['width_option'] ) ){
        $height      = (int) sanitize_key( $_POST['height_option'] );
        $width       = (int) sanitize_key( $_POST['width_option'] );

        if( $width > 0 && $height > 0 ){
            $total_price = ( ( $height / 3 ) * ( $width / 30 ) + 3 ) * $regular_price; // <== The calculation
            $cart_item['custom_data']['price'] = round($total_price, 2); // Save the price in the custom data
        }
    }

    return $cart_item;
}

Проблема в том - что в строчке
$total_price = ( ( $height / 3 ) * ( $width / 30 ) + 3 ) * $regular_price;

Стоит видимо не правильный массив базовой цены товара. Из-за этого при добавлении товара цена добавляется с базовой ценой.
Но если подставить вместо $regular_price к примеру 1.48, то все работает нормально
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 2
scottparker
@scottparker
что-то я вообще не наблюдаю инициализации $regular_price
Ответ написан
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
$regular_price = woocommerce_get_price($product_id);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы