Version 1.0.3 - Refactoring Majeur (Best Practices)
🧹 Version 1.0.3 - Refactoring Majeur (Best Practices WordPress)
Simplification Drastique
150+ lignes de code supprimées → Tout géré par WordPress nativement via Requires Plugins:
Avant v1.0.3
// 250+ lignes de code custom
function eai_ml_check_dependencies() { /* 50 lignes */ }
function eai_ml_check_elevatio_compatibility() { /* 20 lignes */ }
function eai_ml_activate() { /* 40 lignes avec wp_die() */ }
function eai_ml_runtime_dependencies_check() { /* 50 lignes notices */ }
add_action('admin_notices', 'eai_ml_runtime_dependencies_check');Après v1.0.3
// 1 ligne dans le header
* Requires Plugins: ai-engine, polylang
// Hook d'activation simplifié (juste log)
function eai_ml_activate() {
error_log('Plugin activated');
}Changements
- ❌ Supprimé :
eai_ml_check_dependencies()(50 lignes) - ❌ Supprimé :
eai_ml_check_elevatio_compatibility()(20 lignes) - ❌ Supprimé : Logique custom d'activation avec
wp_die()(40 lignes) - ❌ Supprimé :
eai_ml_runtime_dependencies_check()etadmin_notices(50 lignes) - ✅ Utilisation : Header natif WordPress
Requires Plugins: - ✅ Résultat : Code 60% plus court, 100% best practices
Avantages
- WordPress gère tout : Affichage des dépendances manquantes automatique
- Pas de code custom : Aucune maintenance nécessaire pour les dépendances
- Meilleure UX : Messages d'erreur natifs WordPress (cohérents avec l'admin)
- Code propre : Focus sur les fonctionnalités, pas sur la plomberie
Leçon Apprise
TOUJOURS vérifier les systèmes natifs WordPress AVANT de coder.
Le header Requires Plugins: existe depuis WordPress 6.5 (2024) et rend obsolète TOUT code de vérification manuelle. Les versions 1.0.0, 1.0.1 et 1.0.2 auraient pu être évitées en appliquant cette best practice dès le début.
Migration depuis v1.0.0-1.0.2 : Aucune action requise, simple mise à jour. Le comportement est identique mais le code est beaucoup plus propre.