WordPressのカスタマイズが終わってホッとしていると、変なバグを発見。
メディアライブラリの画像の編集から画像加工しようとすると、プレビュー画像が表示されない現象が発生してしまった。
こんなとこ全く触ってないのになんでだろう?と、考えていたら3日過ぎていました。
原因は信じられないところにあったのです。
phpのタグ同士の間に改行があるとエラーになる
普通に原因を調査してたら、絶対に分からないであろう場所が原因。
phpのタグ同士が改行されてると、画像が表示されないのです。
わかりやすくするためにコードで説明します。
以下がダメな記述。
<?php //処理 ?> <?php //処理 ?>
以下が問題ない記述。
<?php //処理 ?> <?php //処理 ?>
違いがわかるでしょうか。上のダメな例は、phpタグとphpタグの間に改行があって、下はそれがない。
これが全く関係ないfunction.phpの中に1つでもあるとメディアライブラリの画像が表示されなくなります。
究極に発見しづらい現象。
1箇所だけ修正すると、ちゃんと画像が表示されるようになった。
ちなみに、どうやって解決したかというと、Qiitaで解決方法を発見できたからなんだけど、これなかったらホントに原因調査に3日かかるレベル。インターネットは偉大だ。
参考:【WordPress】functions.phpの罠 – Qiita
この件で悩んでいる人がこの記事を発見しますように。