「Notice: Constant HEADER_IMAGE_WIDTH already defined」は、PHPスクリプトで同じ定数を2回定義したときに表示されるメッセージです。この例では「HEADER_IMAGE_WIDTH」という定数が二重に定義されているということです。
ゼロからPHPスクリプトを作成している場合は、あまり発生しないかもしれません。このエラーメッセージに出会う典型的な例はWordPressでテンプレートをカスタマイズしているときです。
WordPressのテーマのカスタマイズ手法として「子テーマに書いたコードが親テーマの設定を上書きする」があります。
CSSのカスタマイズについてはこの考えで問題ありませんが、PHPスクリプトでも同じアプローチだと問題が発生する場合があります。
たとえば、ヘッダー画像の定義を子テーマで上書きしようとします。
親テーマのfunctions.phpには次のように定義されているとします。幅950px、高さ250pxのヘッダー画像が使用可能だということです。
define('HEADER_IMAGE_WIDTH', 950); define('HEADER_IMAGE_HEIGHT', 250);
この設定は「外観」-「ヘッダー」メニューに表示されるサイズと連動しています。
この設定を子テーマで上書きしようと、functions.phpに同じコードを入力してサイズだけを変えます。
define('HEADER_IMAGE_WIDTH', 888); define('HEADER_IMAGE_HEIGHT',222);
変更後、「外観」-「ヘッダー」メニューを見るとサイズが変わっているのでうまくいっているように見えます。
実際は「定数の二重定義」に引っ掛かっているはずです。二重定義の問題が起きているものの、動作には影響しないレベルのエラーなのでメッセージが表示されないだけです。
試しに設定ファイル(wp-config.php)の「WP_DEBUG」を「true」にして、すべてのデバッグメッセージ(エラーメッセージ)を表示してみましょう。
define('WP_DEBUG', true);
おそらく次のようなエラーメッセージが表示されるはずです。
偶然、他の用事で「WP_DEBUG」を「true」にしてみて、いろいろなエラーメッセージが表示されてビックリすることがあるかもしれませんが、このような事情です。
元々、稼働中のWordPressに潜んでいたエラーメッセージが、これまでは非表示になっていたということです。それがわかっていれば焦ることはありません。動作に影響しないレベルのエラーであれば無視しても大丈夫ということです。
ヘッダー画像のサイズ定義に関する定数を上書きするのは良いのか悪いのか難しいところですが、とりあえずの対処としては無視しておいても大問題になることはありません。