Intereting Posts
Пользовательский ходок меню – удалить тег li на основе имени класса Как я могу уменьшить количество ifs и else ifs в этом конкретном блоке кода? Определить WP_DEBUG условно / только для ошибок admins / log (добавить аргумент arg для всех ссылок?) Как получить список тем через REST api? Импорт блога не удалось загрузить вложения из более старого (все еще онлайн) блога PHP: Почему мой код работает в index.php, но не в виде виджета? Как изменить высоту изображения заголовка в Twenty Seventeen? Сообщение неправильно отображаемое как страница Возврат из wooCommerce с помощью полосы Вставить несколько мета в одно время enqueue script / style plungin development Добавление таблиц на страницы панели инструментов программно? WordPress SEO от Yoast: скрыть мета-поля в сообщениях для не-админов Как правильно настроить зависимости в автоматическом тестировании? Отправить личное сообщение для pending post

Spee-Dee 20-строчная ошибка php

Я использую расширение доставки Spee-dee WooCommerce на одном из моих веб-сайтов клиентов. Этот плагин позволяет вам добавить корректировку вознаграждения в% или нумерованную сумму, такую ​​как 2 за 2 доллара.

Плагин отлично работает, когда вы вводите 2%, например, но когда вы вводите 2 за 2 доллара, он не работает. Что происходит, Spee-Dee поставляет только в определенных областях. Если вы находитесь за пределами области, так скажите, как Калифорния, она должна скрыть опцию доставки spee-dee и с%, которая работает. Но если вы добавите 2 за 2 доллара, он отобразит плату за 2 доллара США в качестве варианта доставки, если он находится за пределами района. Я проследил проблему до нескольких строк кода ниже, но я не могу понять это.

Могу ли я ПОЧЕМУ помочь? заранее спасибо

/ ** * Добавить любые сборы в стоимость доставки * * @access public * @param float $ cost (по умолчанию: 0) * @return float * / function add_fees ($ cost = 0) {

// check if we have to add any additional fees if ( ! empty( $this->fee_adjustment ) ) { $sym = substr( $this->fee_adjustment, 0, 1 ); $fee = $sym == '-' ? substr( $this->fee_adjustment, 1 ) : $this->fee_adjustment; // see if we're dealing with a percentage adjustment if ( strstr( $fee, '%' ) ) { $fee = str_replace( '%', '', $fee ); if ( $sym == '-' ) { $cost = $cost - ( $cost * ( floatval( $fee ) / 100 ) ); } else { $cost = $cost + ( $cost * ( floatval( $fee ) / 100 ) ); } } else { // we're dealing with a flat amount if ( $sym == '-' ) { $cost = $cost - $fee; } else { $cost += $fee; } } // we can't have negative shipping fees if ( $cost < 0 ) { $cost = 0; } } // return the cost return $cost; }