ワタシの別のサイトで、本文がごっそり抜け落ちる事象があり、その解決に手間取りましたので、その顛末を記しておきたいと思います。

ある日、本文がないことに気づく

こんな感じです。

このように、タイトル、執筆日、更新日、執筆者の下はいきなりコメント欄。本文がすべて消えています。念のため、ブラウザを変えて見ても同じ。携帯からアクセスするとAMP表示では正常。通常バージョンだと本文が見えません。

ちなみに他の記事は正常に表示されており、400本ほどの記事の中で、この1本だけ、本文が見えませんでした。そして、この記事は1ヶ月前には正常に見えていました。

ググってみる

「wordpress 特定の記事 本文 表示されない」でググってみると、PHPのバージョンが合ってないとか、プラグインが干渉しているとか、画像が多すぎるとか。

念のため、この1ヶ月にアップデートされたプラグインを全部消してみたものの、状況は変わらず。PHPのバージョンは7.1(モジュール)でしたが、これを変えると面倒な事になりそうなので、ここは触らず。

他にこの1ヶ月に起きたことを考え直したら、記事をリライトし、その際、グーテンベルクのブロックに置き換えたことを思い出しました。そして、もう一度、本文を見直すとテーブルの表示の崩れている箇所がありました。グーテンベルクのテーブル表示ではセルの結合(colspan=”” 、 rowspan=””など)が使えません。以前はhtmlで書いてましたので、こういう要素を使っていました。そのままグーテンベルクのブロックに置き換えると、こういうことが発生しますが、それは他の記事でもあったこと。テーブルが崩れても、本文が消えることがありませんでした。

テーブルを見直すとGIFイメージが

テーブルと直しても、本文はどこかに行ったまま。しかし、他の生地にはないものを発見。それはテーブルの中に小さなGIFイメージがあったこと。リスト要素にしていたわけではないのですが、それっぽく見せるため、テーブルの中のテキストの前に小さなGIFイメージを使っていたのです。まさかと思いましたが、それを全部けしてみたら、あら不思議。記事がすべて表示されました。

グーテンベルク仕様では、テーブルの中に画像をブチ込むとこんな悲劇が起こるようです。

どこかの誰かも同じことで悩んでいたら、その解決策になれば幸いです。