Comment corriger l’erreur « Trying to access array offset » d’Elementor.

Correction du warming Trying to access array offset on value of type null

À la suite d’une mise à jour de Elementor, j’ai constaté que deux de mes sites qui utilisaient un slider de Elementor présentaient des messages d’avertissement (warning) dans la page web.

Ce problème semble venir d’une erreur dans le code source de Elementor. Bien que je soit persuadée qu’une prochaine mise à jour corrigera le problème, en attendant, je vous montre comment corriger la situation.

Il faut toutefois être à l’aise de mettre les mains dans les fichiers, dans le code directement.

Pas besoin de savoir programmer. Je vous donne la marche à suivre pas à pas.

Avant de débuter, il faut vous assurez que le problème que vous vivez soit le même que le mien, afin d’appliquer la solution (sinon, ça ne corrigera pas votre problème).

Conditions pour s’assurer que votre problème d’affichage est le même que le mien que que le correctif proposé corrige bien le problème:

Vous utilisez Elementor (et particulièrement des sliders de Elementor)

  • Vous avez le message d’avertissement suivant qui s’affiche sur votre site web, là où votre slider est normalement afficher:
Warning
: Undefined array key "background_image" in
/home/votreSiteID/public_html/wp-content/plugins/elementor/includes/conditions.php
on line
87


Warning
: Trying to access array offset on value of type null in
/home/votreSiteID/public_html/wp-content/plugins/elementor/includes/conditions.php
on line
90

Note: Vos messages présenteront le ID d’hébergement de votre site à la place de « votreSiteID »

Si vous répondez à toutes ces conditions, vous pourrez apporter mon correctif afin de rapidement corriger la situation.

Marche à suivre pour corriger le problème

  1. Connectez-vous sur votre hébergement web (via un logiciel FTP ou via le gestionnaire de fichier de votre hébergement web) et allez dans le répertoire
    public_html/wp-content/plugins/elementor/includes/ et ouvrez le fichier condition.php en mode édition.
  2. Remplacez le code inscrit aux lignes 87 à 90

Ancien code (à retirer)

PHP
$value = $comparison[ $parsed_name[1] ];

if ( ! empty( $parsed_name[2] ) ) {
    $value = $value[ $parsed_name[2] ];

Nouveau code (à mettre à la place de l’ancien)

PHP
// Vérifier si $parsed_name[1] existe et si la clé correspondante existe dans $comparison
$value = isset($parsed_name[1]) && array_key_exists($parsed_name[1], $comparison) ? $comparison[$parsed_name[1]] : '';

// Si $value est un tableau, accéder à $parsed_name[2] si elle est définie et existe
if (!empty($parsed_name[2]) && is_array($value) && array_key_exists($parsed_name[2], $value)) {
    $value = $value[$parsed_name[2]];
}

3. Enregistrez

C’est terminé! Cette petit correctif devrait faire en sorte de ne plus avoir le message d’avertissement sur votre site. Si vous ne voyez pas le résultat, tentez de supprimer la cache de votre site et navigateur et rafraichissez votre page.


Vous n’êtes pas à l’aise de faire cette correction vous-même ?

Contactez-moi dès maintenant et je m’en occupe pour vous en quelques minutes. »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *