WC_Settings_Tax::save_tax_classes()publicWC 1.0

Saves tax classes defined in the textarea to the tax class table instead of an option.

Метод класса: WC_Settings_Tax{}

Хуков нет.

Возвращает

null. Ничего (null).

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

$WC_Settings_Tax = new WC_Settings_Tax();
$WC_Settings_Tax->save_tax_classes( $raw_tax_classes );
$raw_tax_classes(строка) (обязательный)
Posted value.

Код WC_Settings_Tax::save_tax_classes() WC 8.7.0

public function save_tax_classes( $raw_tax_classes ) {
	$tax_classes          = array_filter( array_map( 'trim', explode( "\n", $raw_tax_classes ) ) );
	$existing_tax_classes = WC_Tax::get_tax_classes();
	$removed              = array_diff( $existing_tax_classes, $tax_classes );
	$added                = array_diff( $tax_classes, $existing_tax_classes );

	foreach ( $removed as $name ) {
		WC_Tax::delete_tax_class_by( 'name', $name );
	}

	foreach ( $added as $name ) {
		$tax_class = WC_Tax::create_tax_class( $name );

		// Display any error that could be triggered while creating tax classes.
		if ( is_wp_error( $tax_class ) ) {
			WC_Admin_Settings::add_error(
				sprintf(
					/* translators: 1: tax class name 2: error message */
					esc_html__( 'Additional tax class "%1$s" couldn\'t be saved. %2$s.', 'woocommerce' ),
					esc_html( $name ),
					$tax_class->get_error_message()
				)
			);
		}
	}

	return null;
}