diff --git a/plugins/woocommerce-admin/client/launch-your-store/settings/slotfill.js b/plugins/woocommerce-admin/client/launch-your-store/settings/slotfill.js index c9d8ece38ce..7cea29f7ec5 100644 --- a/plugins/woocommerce-admin/client/launch-your-store/settings/slotfill.js +++ b/plugins/woocommerce-admin/client/launch-your-store/settings/slotfill.js @@ -205,7 +205,7 @@ const SiteVisibilitySlotFill = () => { export const registerSiteVisibilitySlotFill = () => { registerPlugin( 'woocommerce-admin-site-visibility-settings-slotfill', { - scope: 'woocommerce-settings', + scope: 'woocommerce-site-visibility-settings', render: SiteVisibilitySlotFill, } ); }; diff --git a/plugins/woocommerce-admin/client/launch-your-store/status/index.js b/plugins/woocommerce-admin/client/launch-your-store/status/index.js index 8b8d3e535aa..f0084259b55 100644 --- a/plugins/woocommerce-admin/client/launch-your-store/status/index.js +++ b/plugins/woocommerce-admin/client/launch-your-store/status/index.js @@ -50,7 +50,7 @@ export const LaunchYourStoreStatus = ( { comingSoon, storePagesOnly } ) => { diff --git a/plugins/woocommerce-admin/client/settings/settings-slots.js b/plugins/woocommerce-admin/client/settings/settings-slots.js index 54b19091563..61d920ebf5a 100644 --- a/plugins/woocommerce-admin/client/settings/settings-slots.js +++ b/plugins/woocommerce-admin/client/settings/settings-slots.js @@ -19,8 +19,8 @@ export const possiblyRenderSettingsSlots = () => { { id: 'wc_tax_settings_slotfill', scope: 'woocommerce-tax-settings' }, { id: 'wc_settings_slotfill', scope: 'woocommerce-settings' }, { - id: 'wc_settings_general_site_visibility_slotfill', - scope: 'woocommerce-settings', + id: 'wc_settings_site_visibility_slotfill', + scope: 'woocommerce-site-visibility-settings', }, ]; diff --git a/plugins/woocommerce/changelog/46140-update-46133-site-visibility-tab b/plugins/woocommerce/changelog/46140-update-46133-site-visibility-tab new file mode 100644 index 00000000000..b7eea1b32bf --- /dev/null +++ b/plugins/woocommerce/changelog/46140-update-46133-site-visibility-tab @@ -0,0 +1,4 @@ +Significance: patch +Type: update + +Move site visibility settings to a new tab \ No newline at end of file diff --git a/plugins/woocommerce/includes/admin/class-wc-admin-settings.php b/plugins/woocommerce/includes/admin/class-wc-admin-settings.php index 8a132477274..bc3ce2468ce 100644 --- a/plugins/woocommerce/includes/admin/class-wc-admin-settings.php +++ b/plugins/woocommerce/includes/admin/class-wc-admin-settings.php @@ -57,6 +57,7 @@ if ( ! class_exists( 'WC_Admin_Settings', false ) ) : $settings[] = include __DIR__ . '/settings/class-wc-settings-accounts.php'; $settings[] = include __DIR__ . '/settings/class-wc-settings-emails.php'; $settings[] = include __DIR__ . '/settings/class-wc-settings-integrations.php'; + $settings[] = include __DIR__ . '/settings/class-wc-settings-site-visibility.php'; $settings[] = include __DIR__ . '/settings/class-wc-settings-advanced.php'; self::$settings = apply_filters( 'woocommerce_get_settings_pages', $settings ); diff --git a/plugins/woocommerce/includes/admin/settings/class-wc-settings-general.php b/plugins/woocommerce/includes/admin/settings/class-wc-settings-general.php index 328c8005aef..587fba84c32 100644 --- a/plugins/woocommerce/includes/admin/settings/class-wc-settings-general.php +++ b/plugins/woocommerce/includes/admin/settings/class-wc-settings-general.php @@ -217,11 +217,6 @@ class WC_Settings_General extends WC_Settings_Page { 'id' => 'general_options', ), - array( - 'id' => 'wc_settings_general_site_visibility_slotfill', - 'type' => 'slotfill_placeholder', - ), - array( 'title' => __( 'Currency options', 'woocommerce' ), 'type' => 'title', diff --git a/plugins/woocommerce/includes/admin/settings/class-wc-settings-site-visibility.php b/plugins/woocommerce/includes/admin/settings/class-wc-settings-site-visibility.php new file mode 100644 index 00000000000..34baf1270c1 --- /dev/null +++ b/plugins/woocommerce/includes/admin/settings/class-wc-settings-site-visibility.php @@ -0,0 +1,52 @@ +id = 'site-visibility'; + $this->label = __( 'Site visibility', 'woocommerce' ); + + parent::__construct(); + } + + + /** + * Get settings for the default section. + * + * @return array + */ + protected function get_settings_for_default_section() { + $settings = + array( + array( + 'id' => 'wc_settings_site_visibility_slotfill', + 'type' => 'slotfill_placeholder', + ), + ); + + return $settings; + } +} + + +return new WC_Settings_Site_Visibility(); diff --git a/plugins/woocommerce/src/Admin/Features/LaunchYourStore.php b/plugins/woocommerce/src/Admin/Features/LaunchYourStore.php index c26b6154d07..862a6d4a19b 100644 --- a/plugins/woocommerce/src/Admin/Features/LaunchYourStore.php +++ b/plugins/woocommerce/src/Admin/Features/LaunchYourStore.php @@ -12,7 +12,7 @@ class LaunchYourStore { * Constructor. */ public function __construct() { - add_action( 'woocommerce_update_options_general', array( $this, 'save_site_visibility_options' ) ); + add_action( 'woocommerce_update_options_site-visibility', array( $this, 'save_site_visibility_options' ) ); add_action( 'current_screen', array( $this, 'maybe_create_coming_soon_page' ) ); if ( is_admin() ) { add_filter( 'woocommerce_admin_shared_settings', array( $this, 'preload_settings' ) ); diff --git a/plugins/woocommerce/tests/php/includes/settings/class-wc-settings-general-test.php b/plugins/woocommerce/tests/php/includes/settings/class-wc-settings-general-test.php index 6eed85dad20..31ddc743390 100644 --- a/plugins/woocommerce/tests/php/includes/settings/class-wc-settings-general-test.php +++ b/plugins/woocommerce/tests/php/includes/settings/class-wc-settings-general-test.php @@ -22,7 +22,7 @@ class WC_Settings_General_Test extends WC_Settings_Unit_Test_Case { add_filter( 'woocommerce_general_settings', - function( $settings ) use ( &$actual_settings_via_filter ) { + function ( $settings ) use ( &$actual_settings_via_filter ) { $actual_settings_via_filter = $settings; return $settings; }, @@ -48,29 +48,28 @@ class WC_Settings_General_Test extends WC_Settings_Unit_Test_Case { $settings_ids_and_types = $this->get_ids_and_types( $settings ); $expected = array( - 'woocommerce_store_address' => 'text', - 'woocommerce_store_address_2' => 'text', - 'woocommerce_store_city' => 'text', - 'woocommerce_default_country' => 'single_select_country', - 'woocommerce_store_postcode' => 'text', - 'store_address' => array( 'title', 'sectionend' ), - 'woocommerce_allowed_countries' => 'select', - 'woocommerce_all_except_countries' => 'multi_select_countries', - 'woocommerce_specific_allowed_countries' => 'multi_select_countries', - 'woocommerce_ship_to_countries' => 'select', - 'woocommerce_specific_ship_to_countries' => 'multi_select_countries', - 'woocommerce_default_customer_address' => 'select', - 'woocommerce_calc_taxes' => 'checkbox', - 'woocommerce_enable_coupons' => 'checkbox', - 'woocommerce_calc_discounts_sequentially' => 'checkbox', - 'general_options' => array( 'title', 'sectionend' ), - 'woocommerce_currency' => 'select', - 'woocommerce_currency_pos' => 'select', - 'woocommerce_price_thousand_sep' => 'text', - 'woocommerce_price_decimal_sep' => 'text', - 'woocommerce_price_num_decimals' => 'number', - 'pricing_options' => array( 'title', 'sectionend' ), - 'wc_settings_general_site_visibility_slotfill' => 'slotfill_placeholder', + 'woocommerce_store_address' => 'text', + 'woocommerce_store_address_2' => 'text', + 'woocommerce_store_city' => 'text', + 'woocommerce_default_country' => 'single_select_country', + 'woocommerce_store_postcode' => 'text', + 'store_address' => array( 'title', 'sectionend' ), + 'woocommerce_allowed_countries' => 'select', + 'woocommerce_all_except_countries' => 'multi_select_countries', + 'woocommerce_specific_allowed_countries' => 'multi_select_countries', + 'woocommerce_ship_to_countries' => 'select', + 'woocommerce_specific_ship_to_countries' => 'multi_select_countries', + 'woocommerce_default_customer_address' => 'select', + 'woocommerce_calc_taxes' => 'checkbox', + 'woocommerce_enable_coupons' => 'checkbox', + 'woocommerce_calc_discounts_sequentially' => 'checkbox', + 'general_options' => array( 'title', 'sectionend' ), + 'woocommerce_currency' => 'select', + 'woocommerce_currency_pos' => 'select', + 'woocommerce_price_thousand_sep' => 'text', + 'woocommerce_price_decimal_sep' => 'text', + 'woocommerce_price_num_decimals' => 'number', + 'pricing_options' => array( 'title', 'sectionend' ), ); $this->assertEquals( $expected, $settings_ids_and_types ); @@ -82,13 +81,13 @@ class WC_Settings_General_Test extends WC_Settings_Unit_Test_Case { public function test_get_settings__currencies() { FunctionsMockerHack::add_function_mocks( array( - 'get_woocommerce_currencies' => function() { + 'get_woocommerce_currencies' => function () { return array( 'c1' => 'Currency 1', 'c2' => 'Currency 2', ); }, - 'get_woocommerce_currency_symbol' => function( $currency = '' ) { + 'get_woocommerce_currency_symbol' => function ( $currency = '' ) { return "symbol for $currency"; }, )