03 Juil 2020

WordPress, corriger l’erreur load-scripts.php en back-office

Il y a quelques jours j’ai rencontré un problème sur mon site personnel. Dans le back-office et plus précisément dans le menu des mises à jour, il m’était impossible d’afficher les détails de la maj pour chaque plugins et thèmes. De plus, après avoir mis à jour, je n’avais pas le récapitulatif de l’installation. Voici comment corriger ce problème.

Impossible d’afficher le détail de la mise à jour WordPress

Il est préférable que je vous montre mon problème avec une capture d’écran. C’était assez gênant, surtout en tant que freelance WordPress, j’aime regarder les derniers correctifs apportés sur chaque plugins pour voir si cela va impacter son fonctionnement ou pas.

L’erreur d’affichage dans mon back-office

Quand on a ce genre de message, il peut y avoir beaucoup de raisons différentes et c’est très problématique.
Le but de cet article est de vous donner des pistes pour corriger le souci.

Erreur WordPress sur le fichier load-scripts.php

La première chose à faire est d’ouvrir l’inspecteur de votre navigateur et voir si vous avez une erreur particulière.
Dans mon cas j’avais des messages d’erreur concernant le fichier load-scripts.php qui se trouve dans le dossier wp-admin de WordPress.

2 erreurs quand j’ouvre la console de mon navigateur
Détail des erreurs concernant le fichier load-script.php

Sur le côté droit de votre navigateur, dans la console vous avez le détail du fichier où se situe l’erreur. Dans cet exemple, c’est le fichier load-script.php qui ne fonctionne pas. Plus précisément, l’iframe (la fenêtre qui affiche le détail de la maj du plugin) est bloqué et il ne peut donc pas présenter le contenu.

Vérifiez si votre site n’est pas hacké !

Le piratage est assez courant sur WordPress et vous devez donc vérifier si un fichier ne bloque pas la lecture de load-script.php ou bien que lui-même n’a pas était corrompu par une attaque.

Pour savoir si vous n’avez pas de fichiers piratés déposés sur votre serveur, je vous conseille de faire un scan avec le plugin de sécurité WordPress : Wordfrence.

La version gratuite permet de faire un scan rapide et de déterminer si certains éléments n’ont rien à faire sur votre serveur.

Attention, si c’est le cas, il faut manipuler des fichiers sur votre serveur et supprimer ce qui n’a rien à faire là. Si vous n’avez pas l’habitude d’éditer des fichiers sur un serveur, faites appel à un professionnel.

L’espace blanc dans votre function.php

C’est quelque chose d’assez simple à vérifier. Chaque thème WordPress dispose d’un fichier function.php qui permet son bon fonctionnement.
Ce fichier très important peut faire cesser de fonctionner votre site s’il y a eu une mauvaise manipulation dedans.

Au début du fichier, il y a la variable PHP < ? php. Il se peut qu’il y ai un espace au début et il peut être source de problèmes sur votre site. Pas besoin de se connecter au serveur pour vérifier si vous avez ce souci sur votre WordPress (Sauf si vous maîtrisez bien l’utilisation d’un FTP).

Depuis le back-office de WordPress, vous avez un menu édition qui vous permet d’avoir accès aux fichiers de votre thème. Attention à ne pas faire de modification si vous ne vous en sentez pas capable. D’ailleurs, une fois dans ce menu, vous allez avoir un pop-up d’avertissement par votre CMS. Il faut se rendre dans apparence -> éditeur du thème.

L’éditeur de fichier en back-office

Une fois dans l’éditeur, il faut cliquer à droite sur Fonctions du thème.
Ensuite vérifiez s’il n’y a pas d’espace au début du fichier.
Si c’est le cas, supprimez le et enregistrez le fichier.
La ligne 1 doit être toujours “< ? php” comme sur la capture ci-dessous.

Problème d’iframe WordPress via le htacess

Le problème que j’ai eu venait de mon fichier .htaccess à la racine de mon site sur le serveur.
J’ai optimisé mon site au niveau de la sécurité en ajoutant une ligne de code dans ce fichier.

Cependant, cette ligne de code bloquait les appels d’affichage de contenu d’un site extérieur dans un code iframe.

J’avais cela dans mon fichier :

<IfModule mod_headers.c>
Header always set X-FRAME-OPTIONS "DENY"
</IfModule>

Pour éviter un blocage complet des appels en iframe, il fallait utiliser ce code :

<IfModule mod_headers.c>
Header always set X-FRAME-OPTIONS "SAMEORIGIN"
</IfModule>

En fouillant dans mon code, je me suis douté que c’était lié au fichier htaccess.

J’ai recherché ce que j’avais fait pour optimiser mon site et pour cette ligne de code je suis tombé sur les explications de JustGeek qui m’ont été utiles pour le modifier

Cependant, je pense qu’il peut y avoir encore pleins d’autres raisons qui peuvent expliquer cette erreur.

Si vous avez rencontré ce problème vous pouvez nous donner la solution en commentaire pour aider la communauté 🙂

Vous ne trouvez pas comment résoudre l’erreur du fichier load-scripts.php ?

– Connexion à votre serveur
– Recherche d’erreur fatale
– Tests des options de cet article

Vous pouvez commander un ticket d’intervention WordPress pour que je cherche à solutionner votre problème.