Fix Suggestions

Type Target Suggestion Confidence
No suggestions — your site looks good!
/** * Run the compatibility scan and return structured results * * @return array */ function swiftcore_scanner_run() { $results = [ 'summary' => [ 'scripts_flagged' => 0, 'styles_flagged' => 0, 'inline_flagged' => 0, 'plugins_flagged' => 0, ], 'scripts' => [], 'styles' => [], 'inline' => [], 'plugins' => [], 'theme' => null, ]; global $wp_scripts, $wp_styles; // --- Theme info --- $theme = wp_get_theme(); $theme_name = $theme->get( 'Name' ); $theme_notes = []; if ( stripos( $theme_name, 'elementor' ) !== false ) { $theme_notes[] = 'Elementor-based theme detected. Some widgets may rely on synchronous scripts.'; } if ( stripos( $theme_name, 'woocommerce' ) !== false ) { $theme_notes[] = 'WooCommerce-focused theme detected. Cart fragments and dynamic components may be sensitive to async/defer.'; } $results['theme'] = [ 'name' => $theme_name, 'version' => $theme->get( 'Version' ), 'description' => $theme->get( 'Description' ), 'notes' => $theme_notes, ]; // --- Script analysis --- if ( isset( $wp_scripts->registered ) && is_array( $wp_scripts->registered ) ) { foreach ( $wp_scripts->registered as $handle => $obj ) { $issues = swiftcore_scanner_analyze_script( $handle, $obj ); if ( ! empty( $issues ) ) { foreach ( $issues as $issue ) { $results['scripts'][] = $issue; $results['summary']['scripts_flagged']++; } } // Inline data attached to this handle if ( ! empty( $obj->extra['data'] ) ) { $inline_issues = swiftcore_scanner_analyze_inline_script( $obj->extra['data'], "Handle: {$handle}" ); if ( ! empty( $inline_issues ) ) { foreach ( $inline_issues as $inline_issue ) { $results['inline'][] = $inline_issue; $results['summary']['inline_flagged']++; } } } } } // --- Style analysis --- if ( isset( $wp_styles->registered ) && is_array( $wp_styles->registered ) ) { foreach ( $wp_styles->registered as $handle => $obj ) { $issues = swiftcore_scanner_analyze_style( $handle, $obj ); if ( ! empty( $issues ) ) { foreach ( $issues as $issue ) { $results['styles'][] = $issue; $results['summary']['styles_flagged']++; } } } } // --- Plugin analysis --- if ( ! function_exists( 'get_plugins' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $all_plugins = get_plugins(); $active_plugins = (array) get_option( 'active_plugins', [] ); foreach ( $active_plugins as $plugin_file ) { if ( empty( $all_plugins[ $plugin_file ] ) ) { continue; } $plugin_data = $all_plugins[ $plugin_file ]; $plugin_name = $plugin_data['Name'] ?? $plugin_file; $plugin_ver = $plugin_data['Version'] ?? ''; $message = ''; $severity = ''; $slug = strtolower( $plugin_file . ' ' . $plugin_name ); if ( strpos( $slug, 'elementor' ) !== false ) { $message = 'Elementor plugin detected. Some widgets may rely on synchronous scripts or jQuery.'; $severity = 'medium'; } elseif ( strpos( $slug, 'woocommerce' ) !== false ) { $message = 'WooCommerce plugin detected. Cart fragments and checkout flows may be sensitive to async/defer.'; $severity = 'medium'; } elseif ( strpos( $slug, 'slider' ) !== false || strpos( $slug, 'carousel' ) !== false ) { $message = 'Slider/carousel plugin detected. Many sliders assume synchronous JS execution.'; $severity = 'medium'; } if ( $message !== '' ) { $results['plugins'][] = [ 'name' => $plugin_name, 'version' => $plugin_ver, 'message' => $message, 'severity' => $severity, ]; $results['summary']['plugins_flagged']++; } } return $results; } https://electromagnyc.com/post-sitemap.xml 2025-12-14T06:58:19+00:00 https://electromagnyc.com/page-sitemap.xml 2025-12-27T02:10:39+00:00 https://electromagnyc.com/category-sitemap.xml 2025-12-14T06:58:19+00:00