Обновление «Имя» сборов Динамически во время оформления заказа или в корзине - PullRequest
1 голос
/ 06 августа 2020

Было бы здорово, если бы вы могли мне с этим помочь. Я добавляю комиссию, которая в основном называется «Дополнительная надбавка» на странице оформления заказа.

public function change_fee_price($cart){
    $fee_cost = WC()->session->get( 'my_misc_fee_cost' ); // 0 default value.
            WC()->cart->add_fee("Additional Add on", $fee_cost);
    } 

add_action( 'woocommerce_cart_calculate_fees', array($this, 'change_fee_price'), 20, 1 );

Я сделал эту сумму комиссии редактируемой для администратора на странице оформления заказа.

public function editable_additional_addon_fees($ci, $fee){
    if(WC()->customer->get_role() == "administrator"){
        if(is_cart()){
          if($fee->id == "additional-add-on"){
            $fee_total = WC()->cart->display_prices_including_tax() ? $fee->amount + $fee->tax  :  $fee->amount ;
            $fee_total = WC()->session->get( 'my_misc_fee_cost' ) ? WC()->session->get( 'my_misc_fee_cost' ) : $fee_total;
            $html = "$$fee_total <strong><i>(Edit on checkout page.)</i></strong>";
                return $html;
            }
        }
    
   if(is_checkout()){
     if($fee->id == "additional-add-on"){
        $fee_total = WC()->cart->display_prices_including_tax() ? $fee->amount + $fee->tax  :  $fee->amount ;
        $fee_total = WC()->session->get( 'my_misc_fee_cost' ) ? WC()->session->get( 'my_misc_fee_cost' ) : $fee_total;
        $html = "$<input type='number' id='misc_fee_charge' name='misc_fee_charge' value='".$fee_total."'>";
        return $html;
           }
        }
        return $ci;
    }

    add_filter( 'woocommerce_cart_totals_fee_html', array($this, 'editable_additional_addon_fees'), 10, 2);

Теперь, что, если администратор захочет переименовать название комиссии "Additional Add On" в "Extra Charges for XYZ" вместо того, чтобы изменять сумму.

woocommerce_cart_totals_fee_html помог отредактировать html комиссии сумма, а не название комиссии. Я хочу дать пользователю возможность динамически указывать его комиссию в корзине из внешнего интерфейса, а не добавлять stati c name.

Кто-нибудь знает, как этого добиться?

Если вы все еще не понимаю вопроса. Взгляните на изображение: введите описание изображения здесь

Подводя итог, вопрос простой. Как дать возможность изменять название комиссии динамически из внешнего интерфейса!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...