Intereting Posts
4 отдельных сайта VS multisite wordpress Как сделать тему неспособной использоваться в многопользовательской сети? Echo show_count категорий отдельно без использования wp_list_categories Количество конвейера не в порядке Показать только ссылку, если div существует Какой крюк выполняется сразу после выполнения wp_query? Как ускорить импорт продукции wp_schedule_event () устанавливается ежедневно, но обрабатывается каждую секунду Отсутствие разрыва строки в выделенном синтаксисе коде Как включить комментарии Disqus в теме WordPress, которую я создаю с нуля? Как я могу прикреплять изображения к сообщению из медиа-библиотеки? Показать все сообщения текущего тега просмотра Лучший способ включить jQuery и огонь со сценарием внизу контейнера flush_rewrite_rules не работает над отключением плагина, неверные URL-адреса, не отображающие 404 В основном, противоположный многосайтовый URL-адрес, который задают большинство людей

Вычисления в 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; }