init(); } add_action('plugins_loaded', 'ai_seo_cro_init'); function ai_seo_cro_missing_extensions() { $missing = []; if (!class_exists('DOMDocument')) { $missing[] = 'DOM'; } if (!function_exists('mb_strlen') || !function_exists('mb_substr') || !function_exists('mb_strtolower')) { $missing[] = 'mbstring'; } return $missing; } function ai_seo_cro_requirements_notice() { if (!current_user_can('activate_plugins')) { return; } echo '
' . esc_html( sprintf('360 SEO requires these PHP extensions: %s. Ask your hosting provider to enable them.', implode(', ', ai_seo_cro_missing_extensions())) ) . '