work.log

元エンジニアの備忘録的ブログ

WordPressに新しい関数を追加する時はfunction_existsを付けた方が無難

投稿:

WordPress をカスタマイズしていると新しい関数を追加したくなる事が多いと思いますが、その時は必ず function_exists を付けて欲しいって話を書きます。

WordPress 用のサーバを運用代行しているのですが、これまでのトラブル対応依頼の99%は WordPress をカスタマイズした事によるプログラムエラーが原因でした。

よくある『画面が真っ白になった』というアレです。

最近は便利なプラグインが多いためテーマのカスタマイズに多様されていると思いますが、そのプラグイン独自の関数をテーマ内で使う時はこういう風に、function_exists で定義判定をした方が無難だと思うんです。

if ( function_exists( 'new_my_func' ) ) {
	new_my_func();
}

プラグインの独自関数を使っている場合、プラグイン自体を止めてしまうとそこでエラーが発生するので、結果的に真っ白画面になる可能性があります。

特に、外注等でテーマのカスタマイズを引き受ける人は、『クライアントはやらかす』という事を前提に安全対策をして欲しいなっていつも思います。

クライアントには「プラグインは止めるなよ!」って説明したのかもしれないですが、大体は忘れて止めたりしてるのでそこは信用してはいけないと思います。

こういうトラブルが起きると真っ先疑われるのはいつもサーバ側なので対応するハメになるのですが、トラブルが無いと基本用が無いのもまたサーバ屋だったりするのでこれもまた難しい所。

自分としては管理しているぜ感を出せるのでたまには良しとしていますが、ちょっとした気遣いが次の仕事にも繋がると思うので、未知の関数には function_exists を付けておきましょう。

おすすめのVPSサーバ

  • OSが選べる
  • VPS同士でLANが組める
  • 複数台構成向き

このブログで使っています。

  • 転送量が多いサービスに
  • 借りてるのは3年間一度もdown無し!

よく見られている記事

  • 本日
  • 週間
  • 月間