web関連
【php】function_exists()で関数が定義されているかチェック
phpで関数消したらエラー(Fatal error)起きちゃって、調べていたらfunction_exists()なるものを使えば関数が消えてもエラーが起きないようなので備忘録
function_exists()関数とは
指定した関数が定義されていれば関数を実行する
関数がなければ実行されない
header.phpとかpage.phpで関数を出力する際の使い方
header.phpとかに出力する際の書き方
// full_urlという関数が定義されているかどうか
if ( function_exists( 'full_url' ) ) {
// 定義されていれば出力
full_url();
}
関数が定義されていれば実行されるしなければエラー(Fatal error)が出ない
function_exists()関数を使っていれば間違って関数消しても大丈夫
子テーマ使用時の親テーマ内のfunctions.phpで使う場合
子テーマを作成して子テーマの方をメインで更新していく時に親テーマ内のfunctions.phpでこう書いた方がいいよってやつ
// full_urlという関数が定義されてないければ
if ( ! function_exists( 'full_url' ) ) {
// 関数を定義する
function full_url(){
// 処理内容
}
}
functions.phpの読み込み順番が「子テーマfunctions.php」→「親テーマfunctions.php」なので、こういう風に書いておくと子テーマ側で親と同じ名前の関数を定義してしまったときにエラーが起きないらしい(メモ)
▼参考
https://www.netimpact.co.jp/diary/21808/
単純にこういった関数がある事を知らなかったので備忘録