我的一个Wordpress插件输出了价格,我想用集成过滤器改变这个价格。这是来源:
$price_str = apply_filters( 'price_format', number_format($price,0,'', '.') );
添加我添加了此过滤器:
function change_price( $price ) {
$price = $price * 2;
return $price;
}
add_filter( 'price_format', 'change_price', 10, 1 );
如果价格是45.000(四万五千),它不会变成90(九十),我希望它是90.000。
为什么会这样?
答案 0 :(得分:1)
问题是PHP将“45.000”表示为“45”,因为点是小数分隔符,而您的价格使用它来表示数千(某些国家/地区,并且他们将使用逗号分隔小数) )。
function change_price( $price ) {
$price = str_replace(".", "", $price);
$price = $price * 2;
return number_format($price,0, '', '.');
}
add_filter( 'price_format', 'change_price', 10, 1 );
在这种情况下可以工作,首先删除千位分隔符,进行计算并再次以原始格式添加它。
请注意,如果您的价格不是整数(例如45000.99),则会将价格四舍五入到最接近的整数,因为number_format的第三个参数为空。你不能对此做很多事情,因为它已经出现在应用过滤器的原始函数中。
答案 1 :(得分:0)
尝试
<script src="https://threejs.org/build/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://threejs.org/examples/js/libs/tween.min.js"></script>