Задать вопрос
NowebNolife
@NowebNolife
Slowpoke App Developer

Как передать переменную из хука add_action?

Доброго времени суток!

Имеется простенький код в functions.php , для динамического изменения цены товаров в зависимости от суммы корзины:

// Получаем сумму корзины
add_action( 'woocommerce_after_calculate_totals', 'dynamic_discount_based_on_price_total' );
function dynamic_discount_based_on_price_total( $cart_object ) { 
        
        $totalprice = WC()->cart->get_total();

}


add_action( 'woocommerce_before_calculate_totals', 'dynamic_discount_based_on_price_cost_change' );
function dynamic_discount_based_on_price_cost_change( $cart_object ) {

        //сравниваем с суммой корзины
	if( $totalprice != 0 && $totalprice >= 100 ) {
 
        //тут код

	}  
    }  
}


Как передать данные переменной $totalprice из хука 'woocommerce_after_calculate_totals' в хук 'woocommerce_before_calculate_totals' ?
  • Вопрос задан
  • 106 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
NowebNolife
@NowebNolife Автор вопроса
Slowpoke App Developer
Решил данную проблему, получением subtotal напрямую из хука 'woocommerce_before_calculate_totals'

add_action( 'woocommerce_before_calculate_totals', 'dynamic_discount_based_on_price_cost_change' );
function dynamic_discount_based_on_price_cost_change( $cart_object ) {
    //get cart
    $cart_items = $cart_object->get_cart();
    //get cart total
    $totalprice = array_sum( wp_list_pluck( $cart_items, 'line_subtotal' ) );
 }  
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽