私の環境だけなのかも知れません・・・。テーマを作成中、FilezillaというFTPクライアントソフトでのファイル転送について題名のようなおかしなというか不思議な問題が発生しました。
どういうことかというと、管理画面のテーマ編集からファイル名は存在するが内容が全く表示されない(空になる)んです。
もちろんファイルは存在するのでテーマ編集からはファイルの選択ができる状況、でもなぜか中身は真っ白。どういうこと??
ファイル拡張子はテーマなので「〇〇.php」「〇〇.css」の2つ、100%上の条件で内容が空になりました。
でも・・・テーマ編集の画面に表示されないだけで、動作はしている模様。いったいどういうこと?
理由は単純でした。同じ現象で困っている方の参考になれば幸いです。
私の場合ヒントになったのは、何等かのhtml要素を出力するプログラムが入ったファイルで動作はしているけど出力した文字列が文字化けして出力されているソースがあったことでした。
コンピュータや基本プログラムは本当に正直、問題は私の方でした(泣)。
WordPressでアップロードしたファイルの中身が空っぽになる(表示されない)ときの対処
原因・理由
先の文章でピンときた方いると思います。つまり原因はWordPressで扱える文字コードでないファイルであったということです。
WordPressの文字コードは「UTF-8」、テーマの編集画面でもこの文字コードのファイルだけがきちんと内容表示されますから、ファイルの文字コードの指定が間違っているという単純な原因です。
私の場合はテキストエディタでの保存時、初期設定の文字コードが間違っているということが原因でした。
よく思い返してみると、新規で作ったファイルにコードを入れて拡張子をphpやcssにしたものだけこの現象が起こりました(笑)。
WordPress用に作ったファイルはすべてUTF-8形式にしよう
これが結論です。私が今使っているテキストエディタ「Terapad」は、汎用に使われている文字コードの「shift-jis」形式でファイルを保存するように設定されています。
つまり、新規作成した時には必ず文字コードを「UTF-8」にする必要があるんです。また、UTF-8にはBOMありとBOMなしの2種類があり、WordPressで使う場合はBOMなしで保存する必要があります。「Terapad」ではBOMなしの場合の文字コードは「UTF-8N」と表記されていますので、必ず保存時には以下のようにします(一度UTF-8Nで保存されているものはそのままの状態で保存されるようですが念のため)
ファイルを保存するときは、「上書き」ではなく「ファイル」→「文字/改行コード指定保存」を選択します
そして、文字コードが「UTF-8N」になっているのを確認して保存します
作成したファイルを絶対にUTF-8にする方法
無料のテキストエディタ「Terapad」での設定方法を紹介しますが、他のテキストエディタにも同じ設定がどこかにあるはずですので確認してみてくださいね。
ソフトを起動して、「表示」→「オプション」を選択します
文字コードタブをクリックし、「UTF-8N」を選択して保存します
これで次回起動以降は確実に(何が何でも)文字コードはUFT-8Nで保存されるようになります。
WordPress関係のファイルを編集する場合にはこうしておくと便利ですけど、その他のシーンでは逆にこれが影響して文字化けなどするかも知れませんので、ご自身で忘れないよういずれかの方法に統一しておくか、「Terapad」でテキストファイルを編集するのはWordPress関連のファイルを編集するときだけと決めておけばいいかと思います。
こういう現象って何かしらのプログラムを編集したり作成したりしたことのある方なら当然気づくことかと思いますが、私のように初心者の場合、怪奇現象としか思えないですよね。でもパソコンやプログラムは基本指示した通りにしか動かないですから深みにはまる前に、あきらめる前に他と不具合の出るものの違いを見極められる目を養う必要がありますね(笑)。