【发布时间】:2021-12-07 11:34:03
【问题描述】:
在 Woocommerce 中,在“管理订单详细信息”页面中,除了“不含税”和“税”之外,我希望显示客户为每个项目行支付的全价(含税)。 令人惊讶的是,它不是 woo-commerce 的核心选项。 到目前为止,我已经关注了Woocommerce - Display full price (incl. tax) in admin order summary 和Woocommerce - Admin Order Detail Page。 我已经尝试了两种不同的代码 sn-ps(感谢分享它的人),它可以很好地添加一个包含几乎所有情况下的含税价格的列。
除了,它会导致致命错误/退款订单中断,这对您可以想象的商业网站不利。
你能帮帮我吗?我是新手,正在学习 PHP,所以我不是专家,我找不到代码中的问题。
现在我正在使用 Honza Kopecky(谢谢!)在https://stackoverflow.com/a/69532601/17338625 中提供的代码:
function action_woocommerce_admin_order_item_values( $null, WC_Order_Item $item) {
$val = floatval($item->get_total()) + floatval($item->get_total_tax());
?>
<td class="item_full_cost" data-sort-value="<?= $val ?>">
<div class="view" style="font-weight: bold; text-align: right; padding-right: 10px;">
<?= wc_price($val, ['currency' => $item->get_order()->get_currency()]) ?>
</div>
<?php
$refunded = $item->get_order()->get_total_refunded_for_item( $item->get_id() );
if ( $refunded ) {
echo '<small class="refunded">-' . wc_price( $refunded, array( 'currency' => $item->get_order()->get_currency() ) ) . '</small>';
}
?>
</td>
<?php
};
add_action( 'woocommerce_admin_order_item_values', 'action_woocommerce_admin_order_item_values', 10, 2 );
function action_woocommerce_admin_order_item_headers( $order ) {
echo '<th class="line_full_cost sortable" data-sort="float" style="font-weight:bold;text-align: right;">' . __('Price incl. VAT') .'</th>';
};
add_action( 'woocommerce_admin_order_item_headers', 'action_woocommerce_admin_order_item_headers', 10, 3 );
我想对于退款的订单,某些功能不同或某些金额为负数,也许这就是此代码 sn-p 导致致命错误的原因? 也许在代码中添加条件会更容易,而不是在订单退款时显示含税价格?但是我不知道该怎么做...
非常感谢您的宝贵时间!
【问题讨论】:
标签: php woocommerce admin