みなさん、こんばんは!Donyです。
連続のアップデートでちょっと疲れちゃいましたが、時間がたつと忘れそうなので頑張って今日起こったことを記録します。
サイトヘルスで問題発見
DG-STYLE Ver2.9.0に実装した「ヒストリー機能」で満足して色々サイト内を確認していたら、たまたまWordPressサイトヘルスページを見ることになりました。
そこでなんと今まで見たことのないメッセージを見ることになります。
なにこれ?
REST APIは正しく動作しませんでした
REST APIはWordPressや他のアプリケーションがサーバーと通信する手段の1つです。たとえばブロックエディター画面は、投稿や固定ページの表示や保存にREST APIを使用しています。
REST APIは「context」クエリーパラメータを正しく処理しませんでした。
WordPressサイトヘルス
前回のバージョンの2.8.5を見てもこのメッセージは表示されなかったので、結構びっくりしました。
とりあえず新しい機能追加してこのようなメッセージが出ると気持ち悪いので調べてみたところ、情報がほぼない…。
一旦調べた対策案をまとめると以下になります。
- とりあえずプラグインを全部停止してみる
- 特定プラグインを停止
- REST APIを停止しているコードを削除する
以上ですが、全部該当なし…
残りはWordPressのバグかもしれないので、まず別のWordPress公式テーマに切り替えてみたところ、表示されなかった!
これはもう今回のアップデートが原因ですね。
問題先がはっきりしたので、今回のアップデート部分を確認してみました。
アップデート用のコードにも異常なし
あれ?なにこれテーマの問題のはずなのに、コードを削除しても変わらないのでちょっとパニックになりました。
最終手段として、連携しているファイルを削除して「サイトヘルス」をチェックしてみたところ、1つのファイルを外したことで該当メッセージが消えました!
これだ!!!!!!!!!
と思いコードを見ましたけど今回のアップデートで更新してないファイル…
どうなってるんだよ!!!!!!!
夜遅い時間に疲れている状況なので、イライラしながら該当ファイルのコードを全部消して、サイトヘルスを確認したところ
うん?メッセージが消えない…
ファイルを外したら治るけど、コードを全部削除すると治らない…
ファイルが壊れてた?
ファイル自体に異常があると確信した上で、異常ないPHPファイルをコピペして、問題ファイルのコードを全部移動した後にファイル名も元のファイルに変更して試したら…
治りました!
原因はファイルの文字コードBOM問題
取り急ぎ急ぎでアップデートファイルを再度アップして、自分のブログで試したら治ったのが確認できました。
その後、取っといた問題ファイルを確認したところ、PHPファイルの文字コードが「UTF-8のBOMあり」になっていました!
でも自分はこのような処理をやったことがないので、結構不思議です。
2時間くらいこれの原因探しで大変でしたが、もし私と同じ原因の人がいるかもしれないので、参考になったら嬉しいです!