修改WordPress Traveler主题滑块函数实现小数精度(PHP)
问题:WordPress Traveler主题滑块精度无法改为0.1的排查方向
背景与修改操作
我正在使用WordPress Traveler主题,Tour选项中的Max People滑块需要调整为0.1的精度以适配其他场景。我修改了以下两个文件中的ot_type_numeric_slider函数:
wp-content\plugins\traveler-code\st-option-tree\includes\ot-functions-option-types.phpwp-content\plugins\st-option-tree\includes\ot-functions-option-types.php
原代码片段
$_options = explode(',', $field_min_max_step); $min = isset($_options[0]) ? $_options[0] : 0; $max = isset($_options[1]) ? $_options[1] : 100; $step = isset($_options[2]) ? $_options[2] : 1;
修改后的完整函数代码
function ot_type_numeric_slider($args = array()) { extract($args); // phpcs:ignore // Check for description. $has_desc = !empty($field_desc); // Min, max, step options. $_options = explode(',', $field_min_max_step); $min = isset($_options[0]) ? floatval($_options[0]) : 0; $max = isset($_options[1]) ? floatval($_options[1]) : 100; $step = isset($_options[2]) ? floatval($_options[2]) : 0.1; // Format setting outer wrapper. echo '<div class="format-setting type-numeric-slider ' . ($has_desc ? 'has-desc' : 'no-desc') . '">'; // Description. echo $has_desc ? '<div class="description">' . wp_kses_post(htmlspecialchars_decode($field_desc)) . '</div>' : ''; // Format setting inner wrapper. echo '<div class="format-setting-inner">'; echo '<div class="ot-numeric-slider-wrap">'; echo '<input type="hidden" name="' . esc_attr($field_name) . '" id="' . esc_attr($field_id) . '" class="ot-numeric-slider-hidden-input" value="' . esc_attr($field_value) . '" data-min="' . esc_attr($min) . '" data-max="' . esc_attr($max) . '" data-step="' . esc_attr($step) . '">'; echo '<input type="text" class="ot-numeric-slider-helper-input widefat option-tree-ui-input ' . esc_attr($field_class) . '" value="' . esc_attr($field_value) . '" readonly>'; echo '<div id="ot_numeric_slider_' . esc_attr($field_id) . '" class="ot-numeric-slider"></div>'; echo '</div>'; echo '</div>'; echo '</div>'; }
修改核心内容
将$min、$max、$step的赋值逻辑从直接使用字符串值,改为通过floatval()转换为浮点数;同时将默认步长从1调整为0.1。
当前问题
修改完成后,滑块仍然以整数精度运行。该文件中未发现其他与滑块相关的代码,且官方支持表示仅需修改此文件,请问问题可能出在哪里?
内容的提问来源于stack exchange,提问作者tbo812
相关产品推荐
相关产品推荐

