WordPressで管理画面が真っ白になる不具合について

WordPressで管理画面が真っ白になる不具合について

Posted at April 30,2011 2:55 AM
Tag:[TroubleShooting, WordPress]
  • Hatena ブックマーク
  • del.icio.us
  • livedoor
  • Google Bookmarks
  • Yahoo!ブックマーク
  • POOKMARK Airlines
  • ニフティクリップ
  • Buzzurl
  • newsing it!

WordPressで管理画面が真っ白になる不具合が発生したので、備忘録として記しておきます。

1.事象の詳細

テーマを編集していて、「ファイルを更新」をクリックしたところ、突然管理画面が真っ白になりました。他のメニューに移動しても同様の事象す。ブラウザの履歴でテーマ編集画面を戻して加えた変更を削除しても回復しませんでした。

2.原因

この不具合が発生する原因はいくつかあると思いますが、切り分けたところ、今回の原因は、functions.phpに同じ名称の関数を間違って加えてしまったことが原因でした。

function get_post_type_template($template = '') {
   …中略…
    return $template;
}
add_filter('template_include', 'get_post_type_template');
 
function get_post_type_template($template = '') {
   …中略…
    return $template;
}
add_filter('template_include', 'get_post_type_template');

さらに切り分けたところ、同じパラメータのadd_filter()は重複しても問題ないようですが、get_post_type_template()が重複してしまったのがNGのようでした。中の処理やadd_filter()の起動に関係なく、関数名の重複だけでダメっぽいです。

まとめると、以下が管理画面を真っ白にできるコードです。

function foo() {}
function foo() {}

3.対処

functions.phpを一旦削除して管理画面にアクセスしたところ、正常に表示されました。その後、修正前のfunctions.phpを再度アップロードすれば回復しました。

関連記事
トラックバックURL


コメントする
コメントするにはまずサインインしてください。
Loading...