使用 WC_Tax::get_tax_classes() 获取所有 WooCommerce 税级

问题描述

我尝试在我的自定义插件获取 Woocommerce 中的活动税级。当我使用 WC_Tax::get_tax_classes() 时,我得到一个空数组。

WC_tax 类如何在没有订单详细信息的情况下自行运行?

解决方法

WC_Tax::get_tax_classes() 在 WooCommerce > Tax (tab) 设置中仅设置默认税种时返回一个空数组。

例如在 wc_get_product_tax_class_options() function 中使用它显示管理产品页面设置中的可用税种:

/**
 * Get product tax class options.
 *
 * @since 3.0.0
 * @return array
 */
function wc_get_product_tax_class_options() {
    $tax_classes           = WC_Tax::get_tax_classes();
    $tax_class_options     = array();
    $tax_class_options[''] = __( 'Standard','woocommerce' );

    if ( ! empty( $tax_classes ) ) {
        foreach ( $tax_classes as $class ) {
            $tax_class_options[ sanitize_title( $class ) ] = $class;
        }
    }
    return $tax_class_options;
}

因此,使用 WC_Tax::get_tax_classes() 时,默认税种(活动税种)没有条目。

然后您可以使用 wc_get_product_tax_class_options() 函数获取所有 WooCommerce 税类或来自此函数的代码,如果您想要更自定义的东西。

相关:How to get the available tax rates in WooCommerce