2012-06-25 2 views
0

Я использую плагин wordpress Advanced Custom Fields, и я выводил значение одного из полей: 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; 
} 

и использовать его вместо the_field()

или выхода захвата с использованием ob_start() и ob_get_clean() и передать его number_format()

0

Спасибо за отличные ответ:

второй вариант работал:

ob_start();

 the_field('Price'); 

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

     echo '£' . number_format($out); 

     // var_dump($out); 
0

Welch @ Андрей Ваше решение работает, но функция уже существует в ACF (Advanced Пользовательские поля)

if (get_field('Price')){ 
the_field('Price'); 
} 
Смежные вопросы