Wordpress5.6 Classicエディタでプレビューできない問題の原因は非推奨でした。このツールでわかりましたよ

Wordpress 5.x系のサイトを複数運営している中で、あるサイトだけ投稿、固定ページの記事内容を変更し、「プレビュー」ボタンで確認しても、変更前の内容がプレビューされる問題に悩まされていました。新規投稿時はちゃんとプレビュー効きます。一旦投稿してしまうとプレビューできなくなっています。

ぐぐるとこういう問題の場合、「プラグインを全部無効にして、検証すれば特定できる」というような内容ばかりで、運営中のサイトにダメージを与えそうで実施できずに対応を引き伸ばしていました。

Webサーバーで動くPHPのバージョンは自動的にバージョンアップするようにしています(なっていました)。そのため問題のあったサイトはPHP7.4で動いています(この記事書いている時点です)。

原因は「非推奨」でした。


結果的にwordpressの問題ではなく、プラグイン、テーマで使われているPHP関数が原因でした。
具体的には「create_function」、「allow_url_include」この2つがPHPの非推奨項目でした。

create_functionはPHP7.2で非推奨になりました(create_functionはphpの関数です)。
allow_url_includeはPHP 7.4で非推奨になっていました(この項目はphp.iniの設定値です)。

古いプラグインをバージョンアップも特に通知がないので長く使っています。こういった更新の滞っているプラグインやテーマはこの非推奨にぶち当たりやすいですね。

非推奨になっていてもワードプレスの管理画面や表示画面は通常です。一切異常は見当たりません。Gutenbergエディタではプレビューも普通に動いていました。

問題は局所的に現れるんですね。

この2つの非推奨を除去(ソースコードの修正、php.iniの修正)したところ、「プレビュー」が機能しました。


「Query Monitor」プラグインが教えてくれました


Query Monitor

このプラグインを有効にしたところ、「非推奨」の項目を利用中ってことが分りました。


最新記事
最新コメント
タグクラウド
カテゴリアーカイブ