ExportWCSettings.php
<?php
declare( strict_types = 1);
namespace Automattic\WooCommerce\Admin\Features\Blueprint\Exporters;
use Automattic\WooCommerce\Admin\Features\Blueprint\SettingOptions;
use Automattic\WooCommerce\Blueprint\Exporters\HasAlias;
use Automattic\WooCommerce\Blueprint\Exporters\StepExporter;
use Automattic\WooCommerce\Blueprint\Steps\SetSiteOptions;
use Automattic\WooCommerce\Blueprint\UseWPFunctions;
/**
* Class ExportWCSettingsGeneral
*
* This class exports WooCommerce settings and implements the StepExporter and HasAlias interfaces.
*
* @package Automattic\WooCommerce\Admin\Features\Blueprint\Exporters
*/
abstract class ExportWCSettings implements StepExporter, HasAlias {
use UseWPFunctions;
/**
* Return a page I.D to export.
*
* @return string The page ID.
*/
abstract protected function get_page_id(): string;
/**
* Export WooCommerce settings.
*
* @return SetSiteOptions
*/
public function export() {
$setting_options = new SettingOptions();
return new SetSiteOptions( $setting_options->get_page_options( $this->get_page_id() ) );
}
/**
* Get the name of the step.
*
* @return string
*/
public function get_step_name() {
return 'setSiteOptions';
}
/**
* Get the alias for this exporter.
*
* @return string
*/
public function get_alias() {
return 'setWCSettingsGeneral';
}
/**
* Return label used in the frontend.
*
* @return string
*/
public function get_label() {
return __( 'General', 'woocommerce' );
}
/**
* Return description used in the frontend.
*
* @return string
*/
public function get_description() {
return __( 'It includes all settings in WooCommerce | Settings | General.', 'woocommerce' );
}
}