Использование WC_Tax::get_tax_classes() для получения всех налоговых классов WooCommerce

Я пытаюсь получить активные налоговые классы в Woocommerce в своем пользовательском плагине. Когда я использую WC_Tax::get_tax_classes(), я получаю пустой массив.

Как класс WC_tax работает без сведений о заказе и работает сам по себе?


person Thijmen van Doorn    schedule 14.02.2021    source источник


Ответы (1)


WC_Tax::get_tax_classes() возвращает пустой массив, если в настройках WooCommerce › Tax (tab) задан только класс налога по умолчанию.

Он используется, например, в wc_get_product_tax_class_options() функция, которая отображает доступные налоговые классы в настройках страницы продукта администратора:

/**
 * 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 или код этой функции, если вы хотите что-то более индивидуальное.

Связанный: Как получить доступные налоговые ставки в WooCommerce

person LoicTheAztec    schedule 14.02.2021
comment
Спасибо! Это мне очень помогает! Теперь я получаю доступные классы :-) Но как показать рейтинги и имена? - person Thijmen van Doorn; 14.02.2021
comment
Спасибо! В дополнение к этому я опубликовал новый вопрос :-) ссылка - person Thijmen van Doorn; 14.02.2021