【问题标题】:Get separate Order's tax totals amounts with tax class获取具有税级的单独订单的税收总额
【发布时间】:2019-03-28 04:38:02
【问题描述】:

我正在为 woocommerce 制作个人 PDF 发票插件。

我们的某些产品采用减税 (%8) 或标准税率 (%18) 征税。例如,产品 A = 降低率 (%8),产品 B = 标准率 (%18)。我可以很容易地得到总税额,但我想用按税种分开税总金额打印。

如何获取订单的总减税金额?也是标准费率。

我怎样才能分别回显它们?

【问题讨论】:

    标签: php wordpress woocommerce orders tax


    【解决方案1】:

    Tax 类未在订单数据的任何地方注册……它已在每个产品中注册,并且可以选择用于运输。

    您可以简单地使用专用的WC_Abstract_Order 方法get_tax_totals() (Woocommerce 用于分隔税行),您将拥有在每个税行设置中设置的税标签百分比。

    费率代码 $rate_code 由 COUNTRY-STATE-NAME-Priority 组成。
    例如:GB-VAT-1US-AL-TAX-1

    显示分隔税行的代码:

    // Get the WC_Order instance Object from the Order ID (if needed)
    $order = wc_get_order($order_id);
    
    // Output the tax rows in a table
    echo '<table>';
    foreach ( $order->get_tax_totals() as $rate_code => $tax ) {
        $tax_rate_id  = $tax->rate_id;
        $tax_label    = $tax->label;
        $tax_amount   = $tax->amount;
        $tax_f_amount = $tax->formatted_amount;
        $compound     = $tax->is_compound;
        echo '<tr><td>' . $tax_label  . ': </td><td>' . $tax_f_amount . '</td></tr>';
    }
    echo '</table>';
    

    如果您想显示Reduced rate (%8)Standart rate (%18) 之类的内容,则必须在“税费设置”中为每个税率中的每个税行自定义“税名”(但它将显示在任何地方,而不仅仅是在您的自定义 PDF 插件中)。

    此外,Tax 类仅用于设置目的和管理视图。

    【讨论】:

    • 感谢@LoicTheAztec 的回复我已经尝试了您的示例代码,但不幸的是没有得到任何结果。我应该改变任何对代码的看法吗?再次感谢。
    • @OnurK。这根本不可能,因为它确实有效,因为它是 woocommerce 使用的……您如何测试此代码?……您将它包含在哪里?你自己的插件代码在哪里?
    猜你喜欢
    • 2021-04-25
    • 2021-06-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 2021-03-13
    相关资源
    最近更新 更多