Woocommerce СУММА количества товаров в корзине (PHP)

#php #wordpress #woocommerce #hook-woocommerce

Вопрос:

Я использую фильтр на woocommerce_product_variation_get_price

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

 if( $product->is_type( 'variable' ) || $product->is_type( 'variation' ) ){
$cart_item_quantities = WC()->cart->get_cart_item_quantities();
$otroci = $product->get_children();
  
  foreach ($otroci as $kiddy) {
$kolicinavv  = isset( $cart_item_quantities[ $kiddy ] ) ? $cart_item_quantities[ $kiddy ] : null;
   echo $kolicinavv;
 
  
  }

$price = $kolicinavv;

 if ($kolicinavv == 1) {echo "1a"; $price = 100;}
 if ($kolicinavv == 2) {echo "2b"; $price = 200;}
  if ($kolicinavv == 3) {echo "3c"; $price = 300;}
   if ($kolicinavv > 3) {echo "4d"; $price = 400;}
  
  return $price;
}

 

Проблема в том, что если я суммирую количество, я ничего не могу сделать с количеством… Фильтр не работает для установки цены (но echo работает правильно)

Комментарии:

1. Первая проблема заключается в том, что в PHP конкатенатором строк является a . , а не то, что является конкатенатором javascript. php.net/manual/en/language.operators.string.php и если вы повторите вывод внутри своего внешнего вида, он будет отображаться каждый раз (если только вы этого не хотите).