WooCommerce-显示全价(包括税务)在管理订单摘要中 [英] Woocommerce - Display full price (incl. tax) in admin order summary

查看:13
本文介绍了WooCommerce-显示全价(包括税务)在管理订单摘要中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望显示客户为该项目支付的全部价格,而不是‘不含税价格’和‘含税价格’。

我遵循了这一点:Woocommerce - Admin Order Detail Page它几乎得到了我想要的东西,但它并不适合我的情况,我无法修改它。我对PHP不是很有经验,担心会打碎任何东西,因为它是一个实时的网上商店。

我设法很容易地更改了货币符号,并将其放在价格的末尾而不是开始处,但我还希望更改其他几项内容,但我不确定如何更改/在哪里更改。

  1. 我们使用逗号而不是句点作为小数点。这反映在其他任何地方都没有问题,但不是在这个定制代码段中。如何更改此设置?

  2. 如果是免费物品/送货,则此字段为空。我尝试将&If$val&>0;更改为Just";If$Val&Quot;,但没有效果。

  3. 我希望整列位于右侧(作为最后一列),而不是左侧。因此,它读取数量、总计、税金、总计(含)。税。

以下是我当前稍微修改过的代码:

function action_woocommerce_admin_order_item_values( $null, $item, $absint ) {
    $val = ($item['type'] == 'line_item' || $item['type'] == 'shipping') ? $item['total'] + $item['total_tax'] : ' ';
    $valdecimal = wc_format_decimal( $val, $dp='', $trim_zeros );
    ?>
    <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) echo $valdecimal; echo ' DKK'; ?>
        </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;">Pris inkl. moms</th>';
};
add_action( 'woocommerce_admin_order_item_headers', 'action_woocommerce_admin_order_item_headers', 10, 3 );

编辑:我发现这段代码还中断/抛出了一个关于退款订单的致命错误。我不得不完全停用代码。

我没有足够的经验知道如何修改它,仍在寻求帮助。

推荐答案

您的代码中有一个小问题,那就是您访问的$item是一个数组,而它实际上是一个对象。扩展WC_Order_Item抽象类的对象之一。此外,$itemtotaltotal_tax属性是字符串,而不是数字,因此当您将它们相加时,首先需要将它们转换为浮点数。

最后,我研究了how the total is displayed by Woocommerce,他们也包括了退款总额。所以我把退还的总额也加进去了,包括增值税/税。

您可以在下面找到更新的代码。

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 );

这篇关于WooCommerce-显示全价(包括税务)在管理订单摘要中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆