我有一个问题,也许有些人可以帮我解决这个问题。
Woocommerce更新到最新版本,所以是wordpress。
我有一个woocommerce插件,可以让你选择数字之间带点的产品数量,例如“1.2 / 3.4 / etc”。
我在控制台中没有错误。
以下是这些行的代码
Code for 1018,1020 line.
* Convert php array to javascript array
*
* @since 2.0.0
*/
private function convert_array_to_javascript_array($arr) {
$j = 1;
$arr_length = count($arr);
if (!empty($arr)) {
$javascript_arr = '';
foreach ($arr AS $steps_interval) {
for ($i = 0; $i <= 2; $i++) {
if ($i == 2) {
$javascript_arr .= trim($steps_interval[$i]);
} else {
$javascript_arr .= trim($steps_interval[$i] . ',');
}
}
if($arr_length != $j) {
$javascript_arr .= ',';
}
$j++;
}
return $javascript_arr;
} else {
return '';
}
}
该文件的最后一个代码。
/**
* Generates interval array for our drop-down-input
*
* @since 2.0.0
*/
private function generate_select_intervals_input($product_id) {
$intervals = $this->get_option($product_id, 'step-intervals');
$select = array();
$first = true;
foreach($intervals AS $interval) {
$step_minimum = $interval[0];
$step_maximum = $interval[1];
$step_interval_value = $interval[2];
if(empty($step_minimum) || empty($step_maximum) || empty($step_interval_value)) {
break;
}
for($i = $step_minimum; $i <= $step_maximum; $i += $step_interval_value) {
if(strlen(round($i,2) - (int)round($i,2)) - 2 == 1) {
$decimals = 1;
} elseif(strlen(round($i,2) - (int)round($i,2)) - 2 < 1) {
$decimals = 0;
} else {
$decimals = 2;
}
if($first) {
$select[] = number_format($i, $decimals, '.', '');
$first = false;
} elseif($i != $step_minimum) {
$select[] = number_format($i, $decimals, '.', '');
}
}
}
return $select;
}
}
这是php file。 谢谢。