Automattic\WooCommerce\Admin\Features\Blueprint\Steps
SetWCTaxRates{} │ WC 1.0
Class SetWCTaxRates
This class sets WooCommerce tax rates and extends the Step class.
No Hooks.
Usage
$SetWCTaxRates = new SetWCTaxRates();
// use class methods
Methods
- public __construct( array $rates, array $locations )
- public static get_schema( $version = 1 )
- public static get_step_name()
- public prepare_json_array()
Notes
- Package: Automattic\WooCommerce\Admin\Features\Blueprint\Steps
SetWCTaxRates{} SetWCTaxRates{} code
WC 9.6.1
class SetWCTaxRates extends Step {
/**
* Tax rates.
*
* @var array $rates Tax rates.
*/
private array $rates;
/**
* Tax rate locations.
*
* @var array $locations Tax rate locations.
*/
private array $locations;
/**
* Constructor.
*
* @param array $rates Tax rates.
* @param array $locations Tax rate locations.
*/
public function __construct( array $rates, array $locations ) {
$this->rates = $rates;
$this->locations = $locations;
}
/**
* Prepare the JSON array for the step.
*
* @return array The JSON array.
*/
public function prepare_json_array(): array {
return array(
'step' => static::get_step_name(),
'values' => array(
'rates' => $this->rates,
'locations' => $this->locations,
),
);
}
/**
* Get the name of the step.
*
* @return string
*/
public static function get_step_name(): string {
return 'setWCTaxRates';
}
/**
* Get the schema for the step.
*
* @param int $version Optional version number of the schema.
* @return array The schema array.
*/
public static function get_schema( $version = 1 ): array {
return array(
'type' => 'object',
'properties' => array(
'step' => array(
'type' => 'string',
'enum' => array( static::get_step_name() ),
),
'values' => array(
'type' => 'object',
'properties' => array(
'rates' => array(
'type' => 'array',
'items' => array(
'type' => 'object',
'properties' => array(
'tax_rate_id' => array( 'type' => 'string' ),
'tax_rate_country' => array( 'type' => 'string' ),
'tax_rate_state' => array( 'type' => 'string' ),
'tax_rate' => array( 'type' => 'string' ),
'tax_rate_name' => array( 'type' => 'string' ),
'tax_rate_priority' => array( 'type' => 'string' ),
'tax_rate_compound' => array( 'type' => 'string' ),
'tax_rate_shipping' => array( 'type' => 'string' ),
'tax_rate_order' => array( 'type' => 'string' ),
'tax_rate_class' => array( 'type' => 'string' ),
),
'required' => array(
'tax_rate_id',
'tax_rate_country',
'tax_rate_state',
'tax_rate',
'tax_rate_name',
'tax_rate_priority',
'tax_rate_compound',
'tax_rate_shipping',
'tax_rate_order',
'tax_rate_class',
),
),
),
'locations' => array(
'type' => 'array',
'items' => array(
'type' => 'object',
'properties' => array(
'location_id' => array( 'type' => 'string' ),
'location_code' => array( 'type' => 'string' ),
'tax_rate_id' => array( 'type' => 'string' ),
'location_type' => array( 'type' => 'string' ),
),
'required' => array( 'location_id', 'location_code', 'tax_rate_id', 'location_type' ),
),
),
),
'required' => array( 'rates' ),
),
),
'required' => array( 'step', 'values' ),
);
}
}