Commit b55310d071b for woocommerce
commit b55310d071bd389a7924c0d73f5ad109333a8fbf
Author: Vladimir Reznichenko <kalessil@gmail.com>
Date: Wed Oct 21 12:05:55 2026 +0200
[Performance] Re-enable autoloading for options marked auto-loadable in v10.5.0 (#69693)
This PR syncs settings definitions (autoload = true) with the original optimization and re-runs the original migration.
diff --git a/plugins/woocommerce/changelog/performance-69369-re-enable-autoloading-from-62036 b/plugins/woocommerce/changelog/performance-69369-re-enable-autoloading-from-62036
new file mode 100644
index 00000000000..6d24e36585d
--- /dev/null
+++ b/plugins/woocommerce/changelog/performance-69369-re-enable-autoloading-from-62036
@@ -0,0 +1,4 @@
+Significance: patch
+Type: performance
+
+Re-enable autoloading for options marked auto-loadable in v10.5.0.
diff --git a/plugins/woocommerce/includes/admin/settings/class-wc-settings-accounts.php b/plugins/woocommerce/includes/admin/settings/class-wc-settings-accounts.php
index 619c4d768dd..730ca11b726 100644
--- a/plugins/woocommerce/includes/admin/settings/class-wc-settings-accounts.php
+++ b/plugins/woocommerce/includes/admin/settings/class-wc-settings-accounts.php
@@ -91,7 +91,7 @@ class WC_Settings_Accounts extends WC_Settings_Page {
'default' => 'no',
'type' => 'checkbox',
'checkboxgroup' => 'start',
- 'autoload' => false,
+ 'autoload' => true,
'custom_attributes' => array(
'disabled-tooltip' => __( 'Enable guest checkout to use this feature.', 'woocommerce' ),
),
diff --git a/plugins/woocommerce/includes/admin/settings/class-wc-settings-advanced.php b/plugins/woocommerce/includes/admin/settings/class-wc-settings-advanced.php
index fd83730a98e..647cfae212c 100644
--- a/plugins/woocommerce/includes/admin/settings/class-wc-settings-advanced.php
+++ b/plugins/woocommerce/includes/admin/settings/class-wc-settings-advanced.php
@@ -103,7 +103,7 @@ class WC_Settings_Advanced extends WC_Settings_Page {
),
),
'desc_tip' => true,
- 'autoload' => false,
+ 'autoload' => true,
),
array(
@@ -123,7 +123,7 @@ class WC_Settings_Advanced extends WC_Settings_Page {
),
),
'desc_tip' => true,
- 'autoload' => false,
+ 'autoload' => true,
),
array(
@@ -143,7 +143,7 @@ class WC_Settings_Advanced extends WC_Settings_Page {
),
),
'desc_tip' => true,
- 'autoload' => false,
+ 'autoload' => true,
),
array(
@@ -156,7 +156,7 @@ class WC_Settings_Advanced extends WC_Settings_Page {
'type' => 'single_select_page_with_search',
'args' => array( 'exclude' => wc_get_page_id( 'checkout' ) ),
'desc_tip' => true,
- 'autoload' => false,
+ 'autoload' => true,
),
array(
@@ -417,7 +417,7 @@ class WC_Settings_Advanced extends WC_Settings_Page {
'type' => 'checkbox',
'checkboxgroup' => 'start',
'default' => 'yes',
- 'autoload' => false,
+ 'autoload' => true,
),
array(
'type' => 'sectionend',
diff --git a/plugins/woocommerce/includes/class-wc-install.php b/plugins/woocommerce/includes/class-wc-install.php
index 30e4de9b0c5..e558f0476e6 100644
--- a/plugins/woocommerce/includes/class-wc-install.php
+++ b/plugins/woocommerce/includes/class-wc-install.php
@@ -372,6 +372,9 @@ class WC_Install {
'wc_update_1130_delete_stock_notification_sync_notice_option',
'wc_update_1130_backfill_order_stats_payment_method',
),
+ '11.4.0' => array(
+ 'wc_update_1140_re_enable_autoload_options',
+ ),
);
/**
diff --git a/plugins/woocommerce/includes/wc-update-functions.php b/plugins/woocommerce/includes/wc-update-functions.php
index 4ecf878915a..2ada38644f5 100644
--- a/plugins/woocommerce/includes/wc-update-functions.php
+++ b/plugins/woocommerce/includes/wc-update-functions.php
@@ -4219,3 +4219,22 @@ function wc_update_1130_backfill_order_stats_payment_method() {
return false;
}
+
+/**
+ * Re-enable autoloading for options whose settings definitions reverted it on save after the 10.5.0 migration.
+ *
+ * @since 11.4.0
+ */
+function wc_update_1140_re_enable_autoload_options(): void {
+ wp_set_option_autoload_values(
+ array(
+ 'woocommerce_cart_page_id' => true,
+ 'woocommerce_checkout_page_id' => true,
+ 'woocommerce_myaccount_page_id' => true,
+ 'woocommerce_terms_page_id' => true,
+ 'woocommerce_show_marketplace_suggestions' => true,
+ 'woocommerce_enable_delayed_account_creation' => true,
+ 'woocommerce_logs_logging_enabled' => true,
+ )
+ );
+}
diff --git a/plugins/woocommerce/src/Internal/Admin/Logging/Settings.php b/plugins/woocommerce/src/Internal/Admin/Logging/Settings.php
index 2faab4160a8..f0822b7f3bc 100644
--- a/plugins/woocommerce/src/Internal/Admin/Logging/Settings.php
+++ b/plugins/woocommerce/src/Internal/Admin/Logging/Settings.php
@@ -113,7 +113,7 @@ class Settings {
'type' => 'checkbox',
'value' => $this->logging_is_enabled() ? 'yes' : 'no',
'default' => self::DEFAULTS['logging_enabled'] ? 'yes' : 'no',
- 'autoload' => false,
+ 'autoload' => true,
),
'default_handler' => array(),
'retention_period_days' => array(),