Я пытаюсь получить активные налоговые классы в Woocommerce в своем пользовательском плагине. Когда я использую WC_Tax::get_tax_classes()
, я получаю пустой массив.
Как класс WC_tax
работает без сведений о заказе и работает сам по себе?
Я пытаюсь получить активные налоговые классы в Woocommerce в своем пользовательском плагине. Когда я использую WC_Tax::get_tax_classes()
, я получаю пустой массив.
Как класс WC_tax
работает без сведений о заказе и работает сам по себе?
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