wp_deregister_script()
Définition : wp_deregister_script() supprime l’enregistrement d’un script classique identifié par son handle dans WordPress. Elle se distingue du simple retrait d’un script de la file d’attente actuelle.
Comprendre et utiliser
À quoi sert ce terme ?
Elle peut aider à remplacer un script propriétaire devenu incompatible, dans un contexte rigoureusement contrôlé. Son utilisation globale comporte toutefois un risque de rupture pour toutes les fonctions dépendantes.
Fonctionnement technique
La fonction retire la définition du registre des scripts classiques. Un autre code devra l’enregistrer de nouveau avant d’essayer de l’utiliser ; les restrictions propres aux scripts du Core restent importantes.
Dans quels contextes l’utiliser ?
À réserver à un composant dont on maîtrise l’identité, les versions et les dépendances. Pour une ressource simplement inutile sur une page, préférer souvent wp_dequeue_script().
Cas concret : ATOOLPHA
Dans un environnement local, ATOOLPHA remplace la définition d’un script expérimental qu’il possède avant de charger sa variante test.
Exemple de code commenté
Extrait PHP destiné à un plugin ou à un template WordPress, dans le contexte indiqué ; pas au contenu HTML de l’article.
<?php
add_action( 'wp_enqueue_scripts', function () {
wp_deregister_script( 'atoolpha-test-helper' );
wp_register_script(
'atoolpha-test-helper',
plugin_dir_url( __FILE__ ) . 'assets/helper-v2.js',
array(), '2.0.0', true
);
wp_enqueue_script( 'atoolpha-test-helper' );
}, 20 );
Décryptage de l’exemple
Le script expérimental est supprimé du registre puis réenregistré avec une nouvelle URL. L’exemple suppose un plugin propriétaire, pas la substitution d’une bibliothèque du Core.
Résultat attendu
Le navigateur reçoit la version du fichier déclarée par l’extension si aucune autre intervention ne modifie le registre après ce callback.
Exercice pratique et vérification
Construire deux fichiers factices et un handle propriétaire. Relever dans la source HTML et l’onglet Réseau quel fichier est demandé.
Précautions et limites
Ne pas remplacer jQuery ou d’autres handles du Core sur la partie administration. Le risque de casser des plugins tiers dépasse souvent le gain recherché.
À ne pas confondre
wp_deregister_script() invalide une définition ; wp_dequeue_script() retire une demande de chargement sans supprimer la définition.
Diagnostic avancé
Si le nouveau script manque, vérifier l’ordre des callbacks et les dépendances avant de conclure à un problème de cache.
Choix d’architecture et déploiement
Le remplacement d’un handle est une opération de compatibilité plutôt qu’une optimisation de routine. Préférer corriger le composant propriétaire ou les dépendances à la source ; lorsqu’une substitution est nécessaire, la tester contre les versions pertinentes du Core et des extensions.
Contrôle avant intégration
Contrôler l’absence de collisions de handles, de dépendances tierces et de stratégies de chargement incompatibles.
Notions associées
- wp_dequeue_script()
- wp_register_script()
- Dépendances de scripts
