Avada PHP7 opdatering

Mange oplever problemer efter at flere webhosts har valgt at opdaterer til PHP 7 og hvis man er en af dem som modtager fejlbeskeden nedenunder og man IKKE har mulighed for at opdaterer til den nyeste version af Avada. Så er der en nem løsning på dette problem ,så man har mulighed for at arbejde på siden og planlægge sin opdatering til nyeste version bedre.

Fejl beskeden som de fleste oplever:
Fatal error: Cannot use “self” when no class scope is active in /public_html/wp-content/themes/Avada/framework/plugins/importer/importer.php on line 1000

Løsningen er heldigis nem. Man skal blot åbne filen /public_html/wp-content/themes/Avada/framework/plugins/importer/importer.php med sin favorit editor og gå til linje nummer 1000.

Linje 989 til 1006 vist her:
 function fusion_slider_delete_dir($dirPath) {
 if (! is_dir($dirPath)) {
 throw new InvalidArgumentException("$dirPath must be a directory");
 }
 if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') {
 $dirPath .= '/';
 }
 $files = glob($dirPath . '*', GLOB_MARK);
 foreach ($files as $file) {
 if (is_dir($file)) {
 self::deleteDir($file);
 } else {
 unlink($file);
 }
 }
 rmdir($dirPath);
 }

Linje 1000 er linjen med self::deleteDir($file);
Den redigerer du så til: $this->deleteDir($file); //PHP 7 edit

Så koden vil se sådan her ud bagefter:


[EFTER REDIGERING] Linje 989 til 1006 vist her:
function fusion_slider_delete_dir($dirPath) {
if (! is_dir($dirPath)) {
throw new InvalidArgumentException("$dirPath must be a directory");
}
if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') {
$dirPath .= '/';
}
$files = glob($dirPath . '*', GLOB_MARK);
foreach ($files as $file) {
if (is_dir($file)) {
$this->deleteDir($file); //PHP 7 edit
} else {
unlink($file);
}
}
rmdir($dirPath);
}

Siden bør nu virke igen uden en fejl besked og man kan planlægge sin opdatering til nyeste version.