WordPressのPHPバージョン更新後にfunctions.phpエラーが出る原因と解決方法(custom-backgroundの未定義変数問題)

PHP

レンタルサーバーでPHPバージョンを更新した後に、WordPressサイトのレイアウトが崩れたり、管理画面やテーマ周りでエラーが発生するケースは珍しくありません。本記事では、その中でも特に多い「functions.php内の未定義変数エラー」と、その原因となりやすいcustom-background設定について整理しながら解説します。

PHPバージョン更新で起きるWordPressの不具合とは

PHPはWordPressの動作基盤となるプログラム言語であり、バージョンが上がると仕様が厳格になります。

そのため、以前はエラーにならなかった記述でも、未定義変数や非推奨の書き方がエラーとして扱われるようになります。

今回のようなレイアウト崩れは、テーマ側の古いコードが原因であることが多いです。

add_theme_supportとcustom-backgroundの基本的な意味

add_theme_supportはWordPressテーマに機能を追加するための関数です。

custom-backgroundは背景画像や背景色を管理画面から変更できる機能を有効化するための設定です。

通常は「true」や配列で設定しますが、変数を渡す場合は事前に定義されている必要があります。

エラーの原因:未定義変数$custom_bgcolor_defaults

今回のエラーの本質は「$custom_bgcolor_defaultsが定義されていない」ことです。

PHPは未定義の変数を厳密に扱うため、PHPバージョンが上がると警告や致命的エラーになる場合があります。

つまりこのコードは「存在しない設定値を渡している状態」になっている可能性があります。

正しい修正方法と安全な書き方

基本的な修正方法は、未定義の変数を使わずに直接配列や値を記述することです。

例えば以下のように修正します。

add_theme_support(‘custom-background’, array(‘default-color’ => ‘ffffff’)) のように明示的に指定することで安全になります。

または変数を使う場合は「$custom_bgcolor_defaults = array(…)」のように必ず事前定義が必要です。

今後同じエラーを防ぐためのポイント

PHPアップデート時はテーマやプラグインの互換性を必ず確認することが重要です。

特にfunctions.phpはカスタマイズが集中しやすいため、未定義変数や古い記述が残りやすい部分です。

エラーが出た場合は、まず「変数が定義されているか」「古い書き方が残っていないか」を確認すると原因特定が早くなります。

まとめ

今回の問題はPHPバージョン変更によって、未定義変数が厳格にチェックされるようになったことが主な原因です。

add_theme_supportの使い方自体は正しくても、渡している変数が未定義であればエラーになります。

今後は変数の定義を明確にするか、直接配列を記述することで安定した動作を維持できます。

コメント

タイトルとURLをコピーしました