気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. WordPress
  2. 35 view

「Fatal error: Cannot redeclare」と表示されるとき

WordPressで子テーマを作成して、子テーマの中にfunctionを記述するときによく発生します。

Fatal error: Cannot redeclare twentytwelve_wp_title() (previously declared in C:\xampp\htdocs\ … \wp-content\themes\child\functions.php:10) in C:\xampp\htdocs\ … \wp-content\themes\twentytwelve\functions.php on line 9999

エラーメッセージの意味は、「同じ関数は2度定義できない」という意味です。

たとえば、テーマにあるtwentytwelve_wp_title関数を子テーマでカスタマイズする場合、子テーマのfunctions.phpにもtwentytwelve_wp_title関数を作成することになるので、2回定義したことになり、自然とエラーになります。

これを防ぐには、2回目の定義とみなされるオリジナルのfunctions.phpのtwentytwelve_wp_title関数について、「同じ関数が定義されていなかった場合は」という条件を追加します。

具体的には、元のテーマのfunctions.phpにある関数(function)を「もしも … 関数が存在しなければ … 」というif文で囲みます。

if (!function_exists('twentytwelve_wp_title')) {
    function twentytwelve_wp_title( $title, $sep ) {
...略...
    	return $title;
    }
}

WordPressの最近記事

  1. WordPressでいつの間にか作成される「php.suspected」ファイルとは

  2. 検索順位のチェックに役立つツール「GRC」

  3. WordPressのテーマを作成したいならPHPは必修!

  4. 「Notice: Constant HEADER_IMAGE_WIDTH already …

  5. 「Fatal error: Cannot redeclare」と表示されるとき

関連記事

PAGE TOP