我正在使用高级自定义字段 wordpress 插件,并且正在输出以下字段之一的值: the_field('Price');
它给出了一个数字。
我想将此数字格式化为带逗号的英镑。
我在输出它时遇到了一些问题。这似乎与首先输出的函数值或数字格式函数有关。
$money = the_field('Price');
echo '£' . number_format($money,0, '.', '');
这不起作用并输出例如300000£0
提前致谢。
我正在使用高级自定义字段 wordpress 插件,并且正在输出以下字段之一的值: the_field('Price');
它给出了一个数字。
我想将此数字格式化为带逗号的英镑。
我在输出它时遇到了一些问题。这似乎与首先输出的函数值或数字格式函数有关。
$money = the_field('Price');
echo '£' . number_format($money,0, '.', '');
这不起作用并输出例如300000£0
提前致谢。
看起来the_field()
没有返回任何东西,而是回声。
您可以编写自己的自定义函数:
function my_the_field($field, $post_id = false) {
$value = get_field($field_name, $post_id);
if (is_array($value)) {
$value = @implode(', ', $value);
}
return $value;
}
并用它代替the_field()
ob_start()
或使用and捕获输出ob_get_clean()
并将其传递给number_format()
感谢您的出色回答:
第二个选项有效:
ob_start();
the_field('Price');
$out = ob_get_clean();
$out = strtolower($out);
echo '£' . number_format($out);
// var_dump($out);
@Andrew Welch 您的解决方案有效,但该功能已存在于 ACF(高级自定义字段)中
if (get_field('Price')){
the_field('Price');
}