Come posso risolvere l'errore fatale di RevSlider nella dashboard dopo l'aggiornamento a PHP 7?
Posso accedere alla parte pubblica del sito. Ma la dashboard appare completamente bianca.
Il log mostra un errore che punta al plugin RevSlider:
PHP Fatal error: Uncaught Error: [] operator not supported for strings in /var/www/html/wp-content/plugins/revslider/includes/framework/base-admin.class.php:141
Ecco il tracciato completo:
#0 /var/www/html/wp-content/plugins/revslider/admin/revslider-admin.class.php(1143): RevSliderBaseAdmin::addMetaBox('Revolution Slid...', '', Array, NULL)
#1 /var/www/html/wp-content/plugins/revslider/admin/revslider-admin.class.php(145): RevSliderAdmin->addSliderMetaBox()
#2 /var/www/html/wp-content/plugins/revslider/admin/revslider-admin.class.php(87): RevSliderAdmin->init()
#3 /var/www/html/wp-content/plugins/revslider/revslider.php(327): RevSliderAdmin->__construct('/var/www/html/w...')
#4 /var/www/html/wp-settings.php(304): include_once('/var/www/html/w...')
#5 /var/www/html/wp-config.php(81): require_once('/var/www/html/w...')
#6 /var/www/html/wp-load.php(37): require_once('/var/www/html/w...')
#7 /var/www/html/wp-admin/admin-ajax.php(22): require_once('/var/www/html/w...')
#8 {main}
thrown in /var/www/html/wp-content/plugins/revslider/includes/framework/base-admin.class.php on line 141, referer: https://192.168.16.18/wp-admin/plugins.php

Ho risolto l'errore applicando una hotfix al plugin RevSlider sul mio server come documentato qui.
Nel file revslider/includes/framework/base-admin.class.php
, ho modificato la seguente riga (riga 21 nella mia versione) da:
private static $arrMetaBoxes = ''; //box di opzioni che verranno aggiunti al post
a:
private static $arrMetaBoxes = array(); //box di opzioni che verranno aggiunti al post

Ottimo lavoro! Ho appena aggiornato a php 7.2 sul mio server e questo è stato utilissimo!

Ciao, grazie per questa risposta! Nel mio caso, stavo usando il template WordPress churchHope e ricevevo un errore su /churchope/lib/revslider/inc_php/framework/base_admin.class.php:72 - ho risolto cambiando private static $arrMetaBoxes = ""; in private static $arrMetaBoxes = array();

Ti devo una birra. +1 e per la spiegazione, in php7 ci sono restrizioni più severe sui tipi, quindi una stringa vuota non può avere qualcosa aggiunto mentre viene trattata come un array. Come ha detto @fuxia []
funziona bene anche qui ed è più in stile Python.

nel mio caso revslider si trovava in: my_url/wp-content/plugins/revslider/inc_php/framework

Abbiamo incontrato questo errore oggi durante la migrazione a PHP 7.3 e questa soluzione temporanea ha funzionato perfettamente. Come ha menzionato @AlessandroMattiuzzi, il percorso sembra essere cambiato nelle versioni recenti del plugin.
