WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

WC_Tax::create_tax_class() public WC 3.7.0

Create a new tax class.

Это метод класса: WC_Tax{}

Хуков нет.

Возвращает

WP_Error/Массив. Returns name and slug (array) if the tax class is created, or WP_Error if something went wrong.

Использование

$result = WC_Tax::create_tax_class( $name, $slug );
$name(строка) (обязательный)
Name of the tax class to add.
$slug(строка)
(optional) Slug of the tax class to add.
По умолчанию: sanitized name

Список изменений

С версии 3.7.0 Введена.

Код WC_Tax::create_tax_class() WC 4.5.2

woocommerce/includes/class-wc-tax.php
<?php
public static function create_tax_class( $name, $slug = '' ) {
	global $wpdb;

	if ( empty( $name ) ) {
		return new WP_Error( 'tax_class_invalid_name', __( 'Tax class requires a valid name', 'woocommerce' ) );
	}

	$existing       = self::get_tax_classes();
	$existing_slugs = self::get_tax_class_slugs();

	if ( in_array( $name, $existing, true ) ) {
		return new WP_Error( 'tax_class_exists', __( 'Tax class already exists', 'woocommerce' ) );
	}

	if ( ! $slug ) {
		$slug = sanitize_title( $name );
	}

	if ( in_array( $slug, $existing_slugs, true ) ) {
		return new WP_Error( 'tax_class_slug_exists', __( 'Tax class slug already exists', 'woocommerce' ) );
	}

	$insert = $wpdb->insert(
		$wpdb->wc_tax_rate_classes,
		array(
			'name' => $name,
			'slug' => $slug,
		)
	);

	if ( is_wp_error( $insert ) ) {
		return new WP_Error( 'tax_class_insert_error', $insert->get_error_message() );
	}

	wp_cache_delete( 'tax-rate-classes', 'taxes' );

	return array(
		'name' => $name,
		'slug' => $slug,
	);
}