@boul

Как исправить ошибку при незаполненном цифровом поле ACF?

Всем привет!
Подскажите пожалуйста, как исправить ошибку при незаполненном цифровом поле ACF?
Проблема вот в чем:
Если созданное поле не заполнено, то вылазит ошибка:

Warning
: number_format() expects parameter 1 to be float, string given in
.../wp-content/themes/theme/single-cards.php
on line
26

Если поле заполнено, то проблемы не наблюдаются.

Подробнее:
в ACF создал поле цифровое, и вывожу следующим образом:

$ch = get_field('vsego_ch'); //строка 25
$formatted_ch= number_format($ch, 0, '', ' '); //строка 26


Вывожу при условии:
"Если поле заполнено, то выводим" для этого использую такую конструкцию:
<?php if ($formatted_uchastnikov) : ?>
                    <li class="класс блока">
                        <div class="класс__img">
                            <div class="класс-icon">
                                <i class="fa fa-users" aria-hidden="true"></i>
                            </div>
                        </div>


                        <h2 class="класс__title">Такое то кол-во</h2>
                        <p class="класс__subtitle"></p>
                        <p class="класс для числового значения">
                            <?php echo $formatted_ch; ?>
                        </p>
                    </li>
                <?php endif; ?>

На сколько я понял, php не хочет воспринимать пустое значение как норму.
По задумке, какое то время после создания карточки (в которой выводится это числовое значение), действительно должно быть скрытым и пустым.
Числовое значение будет вноситься спустя какое то время.
Подскажите пожалуйста, как вылечить такую ошибку?
Спасибо.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@Refguser
Решения для бизнеса: от создания ИМ до...
Для начала нужно проверять поле прежде чем его форматировать
Как-то так
$ch = get_field('vsego_ch'); 
if (!empty($ch)) {
$formatted_ch= number_format($ch, 0, '', ' '); 
}
else{
$formatted_ch=0;
}

Далее вместо непонятно откуда взявшейся $formatted_uchastniko нужно проверять $formatted_ch
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
pLavrenov
@pLavrenov
Разработка сайтов
<?php if ($_ = get_field('vsego_ch')) { ?>
    <div><?php echo number_format($ch, 0, '', ' ') ?></div>
<?php } ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы