rewrite_rules(); save_mod_rewrite_rules(); $wp_rewrite->flush_rules( false ); $needsValidation = self::MARKED_FOR_UPDATE_AND_VALIDATE_OR_ROLLBACK === (int) Option::get( self::UPDATE_RULES_KEY ); Option::update( self::UPDATE_RULES_KEY, self::UNMARKED ); if ( $needsValidation ) { static::validateOrDisable(); } } /** * Validates that the Translated Login URL is accessible. * Used to validate the setting when enabled by default. */ public static function validateOrDisable() { $translationLangs = \WPML\Setup\Option::getTranslationLangs(); if ( empty( $translationLangs ) ) { return; } /** @var \WPML_URL_Converter $urlConverter */ $urlConverter = make( \WPML_URL_Converter::class ); $newUrl = $urlConverter->convert_url( wp_login_url(), $translationLangs[0] ); $loginResponseCode = wp_remote_retrieve_response_code( wp_remote_get( $newUrl ) ); if ( 200 !== $loginResponseCode ) { WPLoginUrlConverter::disable(); } } }