Intereting Posts
"Все сообщения" в категории виджет Загрузка изображения с помощью ссылки «Установить изображение» на лицевой стороне Иерархические постоянные ссылки для пользовательских типов сообщений и таксономии Существуют ли какие-либо угрозы безопасности при отправке данных атрибутов данных через AJAX? Удалить изображения галереи из-за отсутствия товаров woocommerce Цвет фона для страницы регистрации, покрывающий 1 экран, не покрывающий полную страницу Ширина 100%: Соотношение изображения Возможно ли это показать сообщение пользователя после входа в систему Плагин отправляет электронные письма на внешние адреса, а не внутренние Есть ли встроенный метод защиты страниц? Как я могу легко уменьшить размер установки WordPress от разработки до производства? Как я могу использовать кеш браузера для миниатюрных JS или мини-файлов CS? Комментарии администратора и пользовательские ограничения Некоторая кнопка сохранения или следующей кнопки дает ошибку в wp admin Child Theme: как переопределить переменные?

Вычисления в functions.php

Я создал тему счета для себя, и я пытаюсь получить общую сумму счета в настраиваемом столбце.

Я попытался адаптировать код, который я использую на странице шаблона, чтобы отобразить это в файле functions.php, но он не работает.

Я получаю ошибку операнда, где мой операнд умножения, и я не знаю, почему.

Вот мой код (любая помощь будет высоко оценена).

if( $column_name == 'invoice_total' ) { $hours = 0; // This allows counting of each sub_field //* Set repeater variables $service_amount = get_post_meta( get_the_ID(), 'invoice_service_amount' ); $service_quantity = get_post_meta( get_the_ID(), 'invoice_service_quantity' ); $line_total = get_post_meta( get_the_ID(), 'invoice_service_quantity' ) * get_post_meta( get_the_ID(), 'invoice_service_amount' ); $hours += intval( get_post_meta( get_the_ID(), 'invoice_service_quantity' ) ); //intval: Get the integer value of a variable $late_fee = get_post_meta( get_the_ID(), 'late_fee' ); $hours_amount = get_post_meta( get_the_ID(), 'invoice_service_amount' ); global $running_total; global $running_total_late; $running_total += get_post_meta( get_the_ID(), 'invoice_service_amount' ) * get_post_meta( get_the_ID(), 'invoice_service_quantity' ); $running_total_late += $running_total + get_post_meta( get_the_ID(), 'late_fee' ); echo '$'. $running_total; } 

Ошибка, которую я получаю, находится в строке $running_total с операндом умножения.

Я также должен указать, что я использую ACF Pro для создания моей формы счета, а суммы и количество находятся в поле ретранслятора.

ТИА!

Solutions Collecting From Web of "Вычисления в functions.php"

В этих строках get_post_meta() вернет массив, потому что по умолчанию третий аргумент get_post_meta() является false .

Если вы хотите вернуть одно значение, вы должны вызвать его так:

 get_post_meta( get_the_ID(), 'invoice_service_amount', true ); 

Кроме того, вы можете сначала получить мета-сообщение, а затем убедиться, что у вас есть значение (перенос этого умножения в условный оператор, чтобы избежать ошибок). Возможно, что-то вроде:

 $invoice_service_amount = get_post_meta( get_the_ID(), 'invoice_service_amount', true ); $invoice_service_quantity = get_post_meta( get_the_ID(), 'invoice_service_quantity', true ); if ( ! empty( $invoice_service_amount ) && ! empty( $invoice_service_quantity ) ) { $line_total = absint( $invoice_service_amount ) * absint( $invoice_service_quantity ); else { $line_total = 0; }