Если бы я дал вам этот код для добавления в functions.php, вы бы поняли, как его настроить?Или я должен превратить его в простой плагин для вас?
Вот визуальный пример того, как он работает в моей локальной среде тестирования WP.
![Imgur](https://i.imgur.com/ZJq9FJs.jpg)
Установка в functions.php
Прокрутите вниз до того места, где начинается реальный код, и скопируйте и вставьте весь этот блок прямо в самый низ функций папок вашей темы.PHP.Просто скопируйте и вставьте.
Инструкции по использованию.
Шаг 1. Создайте свои классы доставки в Настройки WooComerce> Доставка> Классы доставки.Например, на своем тестовом сайте я создал «громоздкие» и «легкие» классы доставки в настройках wooComerce.Запомните слаг, который вы установили для шага 2.
Шаг 2. На EX1
я помещаю чувствительный к регистру слаг класса доставки WooCommerce, заключенный в ''.На EX2
я размещаю описание комиссии, которую вы хотели бы видеть при оформлении заказа, внутри ''.В Finnaly на EX3
вы просто помещаете числовое значение для платы, это не идет в пределах ''.
//Example:
$shippingClasses['EX1'] = ['description' => 'EX2', 'fee' => EX3];
//How it will look:
$shippingClasses['bulky'] = ['description' => 'Bulky Fee', 'fee' => 7];
$shippingClasses['light'] = ['description' => 'Light Fee', 'fee' => 4];
И это все!Вот и все, что вам нужно сделать.
Код
function fees_fees_fees() {
$shippingClasses['bulky'] = ['description' => 'Bulky Fee', 'fee' => 5];
$shippingClasses['light'] = ['description' => 'Light Fee', 'fee' => 7];
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
$shipping_class = get_the_terms( $values['product_id'], 'product_shipping_class' );
foreach($shippingClasses as $key => $val) {
if ( isset( $shipping_class[0]->slug ) && in_array( $shipping_class[0]->slug, [$key] ) ) {
WC()->cart->add_fee( __($val['description'], 'woocommerce'), $val['fee'] ); }
}
}
}
add_action( 'woocommerce_cart_calculate_fees', 'fees_fees_fees' );