テーマ開発で「Fatal error: Cannot redeclare」の対策

WordPressのテーマ開発をしている時に、「Fatal error: Cannot redeclare function名」と表示されたことはないでしょうか。

この記事では、このようなエラー画面の対策をご紹介します。

子テーマ開発で発生しやすいエラー

このエラーは子テーマ開発の際に親テーマをコピーして作成しようとすると、よく遭遇するエラーです。このエラーはWordPressテーマ開発をされている方から多くの問い合わせをいただいています。

子テーマは親テーマをそのままコピーすればいいと考えがちですが、functions.phpに書かれている関数だけは別物です。

すぐにエラーを解決する方法

WordPressでは親テーマと子テーマ両方のファイルが読み込まれます。
ですので、エラーの意味としては同じ関数を宣言しないでというものになります。

子テーマのfunctions.php内で、親テーマと重複している内容を削除すれば解決します。

このエラーは子テーマ開発の初期に発生しやすいエラーです。もし関数が不要な場合は、functions.phpのファイルは残しておき、functions.phpの中身を全て削除してスタートするのもシンプルな解決策かもしれません。