You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将ACF数字字段千位分隔符从逗号改为空格格式化输出

修改ACF数字字段千位分隔符为空格的实现方法

你现有代码里调用的number_format()函数只传入了待格式化的数字这一个参数,PHP会默认使用英文逗号作为千位分隔符、英文点作为小数点,所以输出的是20,000格式。
直接把number_format()的参数补全,手动指定千位分隔符为空格即可实现需求,修改后的完整代码如下:

add_filter('acf/format_value/type=number', 'fix_number', 20, 3);
function fix_number($value, $post_id, $field) {
  // 无小数位场景使用,输出效果如20 000
  $value = number_format($value, 0, '.', ' ');
  return $value;
}

参数说明

number_format()的四个参数按顺序作用如下:

  • 第一个参数:传入需要格式化的原始数字值,也就是代码里的$value
  • 第二个参数:指定格式化后保留的小数位数,填0就是不保留小数;如果需要保留2位小数,直接把这个值改成2即可
  • 第三个参数:指定小数点使用的符号,示例里用的是默认的英文点.,如果需要用逗号等其他符号当小数点,直接替换引号内的内容即可
  • 第四个参数:指定千位分隔符使用的符号,这里传入空格' ',就会输出空格分隔千位的数字格式

如果你的数字字段需要保留小数,比如要显示20 000.50,只需要把对应行改成$value = number_format($value, 2, '.', ' ');即可。

内容的提问来源于stack exchange,提问作者Tanya Nami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 23:40:37