【发布时间】:2013-08-28 14:01:31
【问题描述】:
我正在尝试获取 WooCommerce 中分配给 BACS 支付网关 ID 的特定 product_id 值的总和。我有一个带有产品 ID 的数组,我正在使用 array_sum 来获取产品值的总和,但这不能正常工作。如果有人能带领我朝着更好的方向前进,将不胜感激。
add_action('woocommerce_before_cart_total', 'invoice_price');
<?php
$available_gateways = $woocommerce->payment_gateways->get_available_payment_gateways();
$product = new WC_Product( get_the_ID() );
$invoiceItems = array(522, 550, 523);
$formatted_total = woocommerce_price( $this->order_total );
function invoice_price( $available_gateways ) {
if ( $available_gateways == $gateways['bacs'] ) {
foreach($product == in_array($values['product_id'])) {
echo array_sum($invoiceItems);
}
$invoiceTotal = $formatted_total - $invoiceItems;
}
echo $invoiceTotal();
}
?>
【问题讨论】:
-
尝试使用
echo $invoiceTotal;而不是echo $invoiceTotal();,因为invoiceTotal不是函数。 (我打算将其发布为答案,但我没有资源来全面测试您的代码)。 -
你也可以试试
$invoiceTotal = $formatted_total - array_sum($invoiceItems);然后echo $invoiceTotal;---这在一定程度上对我的测试有用。
标签: php wordpress woocommerce