我正在使用高级自定义字段wordpress插件,我输出其中一个字段的值:the_field('Price');
,它给出了一个数字。
我想用逗号将这个数字格式化为英镑。
我输出它时遇到一些问题。似乎首先是输出的函数值或数字格式函数。
$money = the_field('Price');
echo '£' . number_format($money,0, '.', '');
这不起作用并输出,例如300000£0
提前感谢。
答案 0 :(得分:1)
看起来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()
和ob_get_clean()
捕获输出并将其传递给number_format()
答案 1 :(得分:0)
感谢您的出色答案:
第二种选择有效:
ob_start();
the_field('Price');
$out = ob_get_clean();
$out = strtolower($out);
echo '£' . number_format($out);
// var_dump($out);
答案 2 :(得分:0)
@Andrew Welch 您的解决方案有效,但该功能已存在于ACF(高级自定义字段)
中if (get_field('Price')){
the_field('Price');
}