サーバーのPHPバージョンを7系にアップデートした後に、WordPressのダッシュボードに次のエラーが表示された場合の対処法。
Warning: Cannot assign an empty string to a string offset in wp-includes/class.wp-scripts.php on line 454

対象のファイル class.wp-scripts.php の454行目はここ。
foreach ( (array) $l10n as $key => $value ) {
if ( ! is_scalar( $value ) ) {
continue;
}
$l10n[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
}
ここで文字列のオフセットに空の文字列は代入できないので警告が出てたんですね。
次のようにif文を追加してやれば、とりあえずエラーは消えると思います。
foreach ( (array) $l10n as $key => $value ) {
if ( ! is_scalar( $value ) ) {
continue;
}
if (!empty($value)) {
$l10n[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
}
}
コアファイルを直接修正した対処はアップデートで上書きされてしまいますが、ダッシュボードにエラーが表示されたままというのも気持ち悪いですもんね。


