我在下面添加了此代码,以便在管理订单页面中添加包括增值税在内的价格。
它运作良好,但我今天尝试退还订单,但出现此错误:
致命错误:未捕获错误:无法将WC_Order_Refund类型的对象用作数组中的
如何在退款过程中排除这个新价格?
点击退款后,不应提交此自定义价格
import AppData;
AppData.write("red.alpha", 0.3);
答案 0 :(得分:0)
如果传入的$ item变量是WC_Order_Refund对象,则可以提早退出。
if ( 'WC_Order_Refund' == gettype( $item ) ) {
return;
}
答案 1 :(得分:0)
这是更新的代码,不会产生任何错误:
//Add price inc VAT column on admin order page
function action_woocommerce_admin_order_item_values( $null, $item, $absint ) {
$val = ('line_item' == $item->get_type() || 'shipping' == $item->get_type() ) ? $item->get_total() + $item->get_total_tax() : ' ';
$valdecimal = wc_format_decimal( $val );
?>
<td class="item_fcost" data-sort-value="<?php echo $val; ?>">
<div class="view" style="font-weight: bold; text-align: right; padding-right: 10px;">
<?php if ($val>0) echo '$'; echo $valdecimal;?>
</div>
</td>
<?php
};
add_action( 'woocommerce_admin_order_item_values', 'action_woocommerce_admin_order_item_values', 10, 3 );
function action_woocommerce_admin_order_item_headers( $order ) {
echo '<th class="item_fcost sortable" data-sort="float" style="text-align: right;">Price inc VAT</th>';
};
add_action( 'woocommerce_admin_order_item_headers', 'action_woocommerce_admin_order_item_headers', 10, 3 );