我试图在表格单元格中设置一个数字的格式,该单元格中的逗号分隔符在数千之间。数字来自高级自定义字段插件中生成的自定义字段,该字段必须是数字。
(但我也尝试在下面的示例中直接输入数字。)
我得到了正确的数值,但格式不起作用。另外,我从表格单元格内部和外部的number\\u格式中得到不同的结果。
我的号码是429000,由\\u字段(“价格”)检索。
以下是我在牢房里试过的:
<td class="pl-property-price"><?php number_format( the_field(\'price\')); ?> </td>
<td class="pl-property-price"><?php number_format((int) the_field(\'price\')); ?> </td>
<td class="pl-property-price"><?php number_format( intval(the_field(\'price\'))); ?> </td>
<td class="pl-property-price"><?php number_format( the_field(\'price\'), 0, ".", ","); ?> </td>
以及其他一些变体。
无论我做什么,它都会输出429000,不带逗号分隔符。
现在,如果我尝试在表外回显值,使用这样的代码和上面的所有类似变体,使用
<?php echo number_format(the_field(\'price\')); ?>
我得到4290000,再加上一个零。
我很困惑。
最合适的回答,由SO网友:BenB 整理而成
看起来您使用的函数是the_field 函数自,共ACF 这是一个输出字符串的函数,因此格式化数字\\u format dosent会影响输出。
此代码:
<?php echo number_format(the_field(\'price\')); ?>
echo并不真正打印任何内容,函数The\\u fields打印输出,这就是number\\u format函数对输出没有任何影响的原因。
尝试通过不同的函数获取字段get_field 例如,也可以将函数the\\u fields添加为$format\\u value参数,如中所示docs .
这应该可以:
<?php echo number_format( get_field( \'price\' ) ); ?>