久しぶりにどっぷりハマりました(笑)。
WordPressでは、段落ブロックへ直接リンク(サイト内のリンク)URLを貼り付けると、自動で「これはリンク埋め込みだな」と判断してカード化してくれるのは恐らくご存じではないかと思います。
私も当然知っているので、テストサイトで何気なくURLを挿入、すると・・・カード表示にはなるものの
あれ?画像が表示されない!!
長いことWordPressとお付き合いしてますが、こんな現象は初めてです。
試しに他に管理している複数のサイトで確認するも、公開しているサイトは問題なし。私の場合、発生するのはテストで使っている2つのサイトでした。
しかも1つは壊れた画像のイメージが表示される現象、もう1つは画像のあるべき場所に大きな空白ができてしまう現象。まさかバラバラに起こるとは思いませんでした。
いろいろと対処してみたら、どちらのパターンでも一応問題解消できましたので、自身の備忘録も兼ねて掲載しておきます。
※試しにやってみたら簡単に解決してしまったので、申し訳ないですが、スクリーンショットは撮れていません・・
壊れた画像が表示される場合
画像が表示されないのではなく、壊れた画像のイメージが表示されるパターンです。投稿編集画面のままで構わないので、デベロッパーツールを開いてみると、以下のようなエラーが出ているのが確認できます。
Failed to load resource: the server responded with a status of 403 ()
平たく言うと、サーバーからアクセス拒否されてまっせ!というエラーですね。
うーーん...アクセス拒否...特に変わったことしてないのになぁ。
ググってみると、この手のエラーとしてよく掲載されているのは、
- ファイルやフォルダのアクセス権限の問題(いわゆるパーミッションの問題)
- .htaccessなどで対象のフォルダ・ファイルへのアクセス制限やIP制限などを行っている場合
で、それらを1つ1つ疑ってというもの。でも、今回のエラーが出る前にそんなことはしていないから、どちらも除外(こういう文献を見て何もしてないのにいろいろやってしまうと更に泥沼にはまることが多いです)。
そこで、やってみたのがパーマリンクのリフレッシュ。結構WordPressではパーマリンク構造(URLの構造)が何かの拍子に不整合などを起こすことが多いんです。特に頻繁にテーマを変更したり、プラグインをあれこれしたりすると起こることが多いです。
問題が起きたのはテストサイトですし、前述したような権限や制限の変更などは一切していないものの、テストですからテーマ変えたりプラグインあれこれしたりなんてのは繰り返してますから「これだ!」でやってみたら・・見事に解決しました。
画像が表示されるべき場所に大きな空白ができる場合
画像があるべき部分に何も表示されないパターンです。前項のように「ここに画像があるはずですよ」と壊れた画像マークも出ず、真っ白になっているパターンです。これをデベロッパーツールで見てみると以下のようなエラーが出ていました。
Failed to load resource: the server responded with a status of 400 ()
エラーコードは「400 Bad Request」ですから、何かの作用でこの処理ができませんよ!というものになります。ちょっとひどい言い方すれば、プログラム上で行き場を失って処理できましぇ~~んというエラーですね。 .
こちらのサイトも前項で書いたような権限の設定や制限などはしていませんから、今動作しているWordPress内の問題と推察、そして、画像の処理で問題が発生していることから画像を扱うプラグインの停止を行ったところ解決できました。
一旦解決した後、それらのプラグインを再有効化しても不具合は置きませんでしたので、一過性のものだと思われます(様子見は必要でしょうけど・・)。
これでまた1つエラーに強くなりました(笑)。
WordPressのエラー対処についてはいろいろな方がありがたく公開してくれているものの、あくまでもその人の環境ではという注釈付きの話ですから、この記事も同様に自分の行ったことや環境に照らし合わせて対処されるとよいと思います。