WC_Tax::create_tax_class( string $name, string $slug = '' )
Create a new tax class.
Description Description
Parameters Parameters
- $name
-
(Required) Name of the tax class to add.
- $slug
-
(Optional) (optional) Slug of the tax class to add. Defaults to sanitized name.
Default value: ''
Return Return
(WP_Error|array) Returns name and slug (array) if the tax class is created, or WP_Error if something went wrong.
Source Source
File: includes/class-wc-tax.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, ); }
Changelog Changelog
Version | Description |
---|---|
3.7.0 | Introduced. |