После переноса сайта на другой хостинг возникла следующая ошибка
Notice: Trying to access array offset on value of type null in /home/mysites/public_html/my-site.com/wp-content/themes/soledad/inc/dashboard/lib/mb-settings-page/inc/settings-page-meta-box.php on line 162
На старом хостинге стоял php 7.2.34
На новом хостинге php 7.4
Перевод ошибки
Попытка получить доступ к смещению массива по значению типа null
Исправление ошибки
Ошибка возникла в функции is_edit_screen
/** * Check if we're on the right edit screen. * * @param WP_Screen $screen Screen object. Optional. Use current screen object by default. * * @return bool */ public function is_edit_screen( $screen = null ) { return in_array( $this->page_args['id'], $this->meta_box['settings_pages'] ); }
Собственно ошибка пошла из-за того что один из аргументов имеет значение null, и надо поставить перед выполнением in_array проверку аргументов на существование, и если оба аргумента есть, тогда делать поиск в массиве.
Измененный код
public function is_edit_screen( $screen = null ) { $r = false; if(isset($this->page_args['id'])){ $needle = $this->page_args['id']; }else{ return $r; } if (isset($this->meta_box['settings_pages'])){ $haystack = $this->meta_box['settings_pages']; }else{ return $r; } $r = in_array( $needle, $haystack ); return $r; }