我为自己创建了一个发票主题,并试图在自定义列中获取发票总额。
我已经尝试调整模板页面中使用的代码,以便在函数中显示这一点。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构建我的发票表单,金额和数量位于重复字段中。
TIA!
SO网友:Jared Cobb
在那些线路上get_post_meta()
将返回一个数组,因为默认情况下third argument of get_post_meta()
is false
.
如果要返回单个值,应这样调用:
get_post_meta( get_the_ID(), \'invoice_service_amount\', true );
此外,您可能希望先获取post meta,然后确保有一个值(将乘法封装在条件语句中以避免错误)。可能类似于:
$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;
}