2012-06-25 103 views
0

我使用高級自定義字段wordpress插件,我輸出的字段的值之一:the_field('Price');它給出了一個數字。數字格式化函數值(貨幣)

我想將此數字格式化爲英制英文逗號。

我在輸出它時遇到了一些問題。它似乎是首先處理輸出的函數值或數字格式函數。

$money = the_field('Price'); 
echo '£' . number_format($money,0, '.', ''); 

這不起作用,並輸出例如300000£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; 
} 

,並使用ob_start()ob_get_clean()使用代替the_field()

或捕獲輸出,並把它傳遞給number_format()

0

感謝優秀回答:

第二個選項的工作:

ob_start();

 the_field('Price'); 

     $out = ob_get_clean(); 
     $out = strtolower($out); 

     echo '£' . number_format($out); 

     // var_dump($out); 
0

@Andrew韋爾奇 您的解決方案的作品,但在功能ACF已經存在(高級自定義字段)

if (get_field('Price')){ 
the_field('Price'); 
}