web-dev-qa-db-fra.com

Liste des scripts enregistrés

Histoire précédente: Nous avons un certain nombre de sites Web wordpress qui rencontrent des problèmes lorsqu'ils sont visualisés sur certains navigateurs IE8. Les erreurs incluent le chargement de la page mais ne s’affichant pas (un écran vide est affiché ou la page précédente n’est pas effacée), nous pensons que c’est à IE8 et à Javascript, mais nous voulons le vérifier en annulant l’enregistrement de chaque script jusqu’à ce que 1) cela fonctionne ou 2) nous manquons de scripts à désenregistrer.

Ainsi pour le questron: est-ce que leur appel est une API qui listera le handle de chaque script enregistré front end?

J'ai une copie de sauvegarde du site, y compris des thèmes et des plugings, pour pouvoir les retrouver mais il se peut que je manque quelque chose et, étant paresseux, j'espérais pouvoir utiliser Wordpress pour générer la liste pour moi.

3
Heather Herbert

Il existe une variable globale appelée $wp_scripts, qui est une instance de la classe WP_Scripts. Il ne dispose pas d'une API publique pour examiner les scripts enregistrés ou mis en file d'attente, mais vous pouvez regarder à l'intérieur de l'objet et voir ce qui se passe.

Vous pouvez voir tous les scripts enregistrés avec:

global $wp_scripts;
var_dump( $wp_scripts->registered );

Pour voir les scripts mis en file d'attente:

global $wp_scripts;
var_dump( $wp_scripts->queue );

Vous voudrez le lancer après que tous vos plugins et thèmes aient eu la chance d'enregistrer leurs scripts. Peut-être en tant qu’élément d’un gestionnaire wp_footer .

N'oubliez pas, bien sûr, qu'il s'agit de détails d'implémentation et non d'une véritable API. Ils pourraient changer à tout moment dans le futur. Mais si vous ne faites que déboguer pour l'instant, vous êtes probablement d'accord.

5
Dave Ross