• このエントリーをはてなブックマークに追加

Warning: Parameter 1 to multibyte_patch::wplink_js() expected to be a reference, value given in ***\wp-includes\plugin.php on line 600

Warning: Parameter 1 to wp_default_scripts() expected to be a reference, value given in \***\wp-includes\plugin.php on line 600

Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in \***\wp-includes\plugin.php on line 600

こんなかんじで。
わー、ってなるけれども、ちょっと調べたら解決できた。

流れとしては、ざっくり

  1. WPはそのままで、コアファイル「/wp-includes/class.wp-styles.php」を一旦いじる(本当はだめだけど、あとでアップグレードするのでOK)
  2. 管理画面に入れたらアップグレード
  3. WordPressの5.x系(おそらく)はPHP7.1に対応しているので、エラーの部分は解決する

ファイルを開いて改変する

一時的に問題の起きてしまっている箇所をPHP7.1でも動くように変更してしまいます。

壊すしてわけわからなくなると面倒だという人は、バックアップをとるか、コメントアウトにすること。

変更箇所1

ファイルの場所:
/wp-includes/class.wp-styles.php

以下のコードを探します。

do_action_ref_array( 'wp_default_styles', array(&$this) );

以下に置き換え。

do_action( 'wp_default_styles', array(&$this)); 

変更箇所2

ファイルの場所:
/wp-includes/class.wp-scripts.php

以下のコードを探します。

do_action_ref_array( 'wp_default_scripts', array(&$this) );

以下に置き換え。

do_action( 'wp_default_scripts', array(&$this)); 

おそらくアップロードするか、ローカル環境の自分のPC上で見ているならば更新されて、動くようになる。

管理画面

必ずバックアップとってください。

管理画面にログインし、アップグレードをかける。
アップグレードが無事完了すると、問題なく表示されるはず。

他にチェック

プラグインなどの更新もチェックします。更新が無事完了したら、コア+プラグインの、オリジナル以外の箇所は完了になります。

ただ、無事に終わらないケースがあります。自分が作ったテーマやプラグインのコードが古い書き方の場合は不具合が発生します。そこは、今の書き方などを調べて新しい記述に置き換える必要があります。

さいごに

PHP、データベース、WordPressのコアファイルや自身が作成したコードが原因で、互換性がないために動作しなくなるケースはいつの時代も発生します。今回は上記のように、サーバーがPHP7.1だったということにより発生するのがほとんどだと思います

Fernando GimenezによるPixabayからの画像