WordPressのテーマなどをカスタマイズしていると、ページが表示されないなどのトラブルが発生することがありますが、多くの問題はfunction.phpが原因です。
例えば、子テーマを作成した時に親テーマのfunction.phpの内容をそのままコピペしてしまい、関数が重複してページが表示されない事があります。
ページが表示されない場合、単純にfunction.phpを疑えばよいのですが、管理画面からログアウトして再度ログインしようとするとログインできないトラブルが発生する時があります。
昨日も、購入したテーマにはないウィジェットを作成したところ、サイトの表示やテーマのカスタマイズ作業中は問題がないにも関わらず、再度ログインしようとしても何故かログインできない現象が発生しました。
ローカルのテストサーバでは問題がなかっただけに、本番サイトに何度もログインを繰り返すうちにレンタルサーバのログイン回数制限でブロックされ、夜中にひとりでウンザリする事になるなんて予想もしておりませんでした。
原因はとても単純
前に書いた記事を思い出したので速やかな解決となりましたが、TeraPadでウィジェット用のソースファイルを編集していたのですが、UTF-8Nで保存したもののうかつにも改行コードをLFにしなかったのが原因でした。
何故かCent OSで構築したローカルのテストサーバでは問題がないテーマなのに、本番環境にアップすると動かなくなるなんて、テスト環境の意味がないと思いながらも、自分が悪いだけに誰にも文句言えません。
同じ過ちを繰り返す自分がなんとも情けないですが、TeraPadのオプションでデフォルトの文字コードを設定できるので、この際UTF-8Nの改行コードをLFに設定しました。
WordPress上でソースを変更して、それをWindows上のテーマファイルに反映させる際に起こるトラブルです。
テーマファイルが原因でログインできない場合、FTPでサーバにアクセスし、テーマファイルのフォルダ名を強制的に変えると、デフォルトのテーマTwenty Elevenになり、ログインできるようになります。
テーマのファイル名を変えなくても、FTPでサーバに接続してUTF-8Nの改行コードLFで保存したソースで置き換えて保存すれば、問題が解消されると思いますので、テーマのフォルダ名を変えるのは最終手段として残しておいてください。