Добавить скидку на стоимость изменения позиции корзины Woocommerce?

Я создал крюк действия woocommerce, чтобы сохранить значение вариации с именем «wcic_installation_chargees», чтобы сохранить плату за установку продукта. Это динамично, поэтому иногда это значение равно нулю, а иногда и стоимость.

Что я хочу сделать, когда мы добавляем товар в корзину, он должен проверить, есть ли более одного продукта с ненулевым значением вариации для «wcic_installation_charges», а затем предоставить 10% скидку на это значение. Позже я использую это значение вариации при изменении общего расчета корзины.

Ниже приведен код крючка действия

function save_installation_charges( $cart_item_data, $product_id ) { if( isset( $_REQUEST['wcic_installation_charges'] ) && !empty($_REQUEST['wcic_installation_charges']) ) { /* This is where the installation charges is stored with cart item as variation */ $cart_item_data[ 'wcic_installation_charges' ] = $_REQUEST['wcic_installation_charges']; /* below statement make sure every add to cart action as unique line item */ $cart_item_data['unique_key'] = md5( microtime().rand() ); } return $cart_item_data; } add_action( 'woocommerce_add_cart_item_data', 'save_installation_charges', 10, 2 );