diff --git a/projects/plugins/jetpack/changelog/enable-offline-default-modules b/projects/plugins/jetpack/changelog/enable-offline-default-modules new file mode 100644 index 00000000000..b647aea4d04 --- /dev/null +++ b/projects/plugins/jetpack/changelog/enable-offline-default-modules @@ -0,0 +1,4 @@ +Significance: patch +Type: bugfix + +Modules: Auto-activate default modules that do not require a connection on unconnected sites, including Forms. diff --git a/projects/plugins/jetpack/class.jetpack.php b/projects/plugins/jetpack/class.jetpack.php index 72eaa5ae5d6..77d43a7b41d 100644 --- a/projects/plugins/jetpack/class.jetpack.php +++ b/projects/plugins/jetpack/class.jetpack.php @@ -2754,9 +2754,7 @@ public static function plugin_initialize() { Jetpack_Options::update_options( compact( 'version', 'old_version' ) ); } - if ( self::is_connection_ready() ) { - self::handle_default_module_activation( true ); - } + self::handle_default_module_activation( true ); self::load_modules(); @@ -2773,7 +2771,8 @@ public static function plugin_initialize() { * require a user connection activated. */ private static function handle_default_module_activation( $should_activate_user_modules ) { - $active_modules = Jetpack_Options::get_option( 'active_modules' ); + $connection_ready = self::is_connection_ready(); + $active_modules = Jetpack_Options::get_option( 'active_modules' ); if ( $active_modules ) { self::delete_active_modules(); @@ -2797,11 +2796,13 @@ private static function handle_default_module_activation( $should_activate_user_ $active_modules, false ); - } elseif ( $should_activate_user_modules && ( new Connection_Manager() )->get_connection_owner_id() ) { // Check for a user connection. + } elseif ( $connection_ready && $should_activate_user_modules && ( new Connection_Manager() )->get_connection_owner_id() ) { // Check for a user connection. self::activate_default_modules( false, false, array(), false, null, null, null ); Jetpack_Options::update_option( 'active_modules_initialized', true ); - } else { + } elseif ( $connection_ready ) { self::activate_default_modules( false, false, array(), false, null, null, false ); + } else { + self::activate_default_modules( false, false, array(), false, null, false, false ); } }