WC_Shipping_Legacy_Flat_Rate::evaluate_cost()
Evaluate a cost from a sum/string.
Метод класса: WC_Shipping_Legacy_Flat_Rate{}
Хуков нет.
Возвращает
Строку
.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->evaluate_cost( $sum, $args );
- $sum(строка) (обязательный)
- Sum to evaluate.
- $args(массив)
- Arguments.
По умолчанию: array()
Код WC_Shipping_Legacy_Flat_Rate::evaluate_cost() WC Shipping Legacy Flat Rate::evaluate cost WC 9.8.1
protected function evaluate_cost( $sum, $args = array() ) { include_once WC()->plugin_path() . '/includes/libraries/class-wc-eval-math.php'; $locale = localeconv(); $decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'] ); $this->fee_cost = $args['cost']; // Expand shortcodes. add_shortcode( 'fee', array( $this, 'fee' ) ); $sum = do_shortcode( str_replace( array( '[qty]', '[cost]', ), array( $args['qty'], $args['cost'], ), $sum ) ); remove_shortcode( 'fee', array( $this, 'fee' ) ); // Remove whitespace from string. $sum = preg_replace( '/\s+/', '', $sum ); // Remove locale from string. $sum = str_replace( $decimals, '.', $sum ); // Trim invalid start/end characters. $sum = rtrim( ltrim( $sum, "\t\n\r\0\x0B+*/" ), "\t\n\r\0\x0B+-*/" ); // Do the math. return $sum ? WC_Eval_Math::evaluate( $sum ) : 0; }