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

Références officielles

Bouton retour en haut de la page