WordPress覚書:wptexturizeエラーで一時表示が乱れました
昨日もいつも通り、一つエントリーを書き終わって、さあ、アップしようかと思ったら管理画面で”重大なエラー”発生。
みなさんがいつも見ている、トップもこんな感じでした。
コンテンツ、メニュー、ウィジェット のほとんど全ての部分でエラーが出ていて、その内容はこちら。
WordPressでエラーが発生したら、まず、wp-config.phpで「define(‘WP_DEBUG’, false);」を「define(‘WP_DEBUG’, true);」にしてページをリロードしてエラーを確認して一つずつ解決というのが基本なので、今回もこの流れで行こうと思って、ググりながら原因を探っていくと、どうもプラグインかテーマとWordPressバージョンの不具合らしい。
あと、よく知らなかった「wptexturize」というのも手がかり。
ということで、プラグインを一つづつオフ(一時的にリネームする)にしてみましたが変わらず。ということは原因はプラグインではない。
次はテーマということで、テーマの中のfunction.phpの中に「add_filter(」か「add_action()」で「wptexturize」が定義されていないかみてみても、見当たりません。
なんだか、function.phpの中でテンプレートファイルを読み込んでいる様子だったので、これも掘り出して探してみたけど「wptexturize」は見当たらないんですよ。
ということは原因はテーマでもない(可能性大)。
ここで一旦途方に暮れる。。。
気を取り直して、「wptexturize」を調べてみると、これは記号を置き換えるものということがわかり、その辺がエラーなら無効にすりゃいいんじゃない?ということで、functions.phpの下に「remove_filter( ‘the_content’, ‘wptexturize’ );」シリーズを追加。(参考にしたページ:WordPressで記事内の記号が自動変換されるのを防ぐ方法 | Fukuro Press)
とりあえず、コンテンツだけリムーブしてみたら表示が直ったので、他の箇所にもリムーブを追加。
でも、まだ画像が表示されないんですよ。
ここで一旦途方に暮れる。。。。(2回目)
えー、じゃあ、どうすりゃいいのかわからんけど、色々ググりまくったら、PHPバージョンなんじゃね?という話も散見。
しかしながら、ホスティングサーバーで確認したら、他のドメインではちゃんと動いているんですよ。
palmfan.comと同じWordPress 5.6.1+PHP7.4モジュール版。
より一層分からなくなって、ファイル内の記述を探しまくったけど、その後1時間くらい変わらず。
この時点で、エラー発生→復旧作業スタートから3時間くらい経ってます。
そろそろ変な汗も出てきます。。。
で、先ほどググりまくった時に出てきた「管理画面にエラーでwordpressの更新ができない。 | WordPress.org 日本語」を読み返していて、最終的にはWordPress最新版のwp-includesとwp-adminを上書きアップロードで直っている様子に気がつきました。
wp-includesとwp-adminあたりの上書きは怖いので、どうしようかと迷ったのですが、とりあえず、現状のwp-includesとwp-adminフォルダーをローカルにバックアップしてから、サーバー側を上書き。
まずはwp-includesだけ。。。。た、た、頼むぜ、、、。
ドキドキしながら上書きOKして、待つこと数分。
その結果、見事に復活しました。
うがー、疲れたー、いやー、もう今月やらなきゃいけないことが山積なんだけどなー。こんなので時間取られたくないんだけども、、、。なんでこんなタイミング。
ということで、覚書でした。
僕はわりと嫌なこととかトラブったことって、終わったら忘れちゃうので、覚書が吉なんですよ、、、。
もし万が一、同じようなトラブルの時は参考にしてみてください。
いまさらかもしれませんが
最初のエラーメッセージからの推測ですが、ワーニングだけのようなので、エラーメッセージを表示しないようにするだけでいいかと思います。
wordpressの動作には影響はありません。
レンタルサーバーの管理画面で「php.ini」の設定があれば
display_errors = Off
とすればいいです。
参考まで。
ありがとうございます。
とてもとても助かります。参考にして調整してみます!