読者です 読者をやめる 読者になる 読者になる

ファイヤードブログ

ディジタル・パブリッシングという観点から、Webサイト制作、電子書籍制作などを。※ブログリニューアル中

function_exists()の重要さ

WordPress pitfalls WebDev

 まだ導入していないプラグインの関数を予め書いていたというケースで引っかかった。あるプラグインに依存させるテーマを作ることもあるので、以下のようにプラグイン固有の関数が出てくる場合には、function_exists()で覆うことを忘れないようにしよう。

if(function_exists('wp_pagenavi')) {
	wp_pagenavi( array( 'query' => $posts ));		
}			

 今回はこうしていなかったために、上部に表示されるWordPressツールバーとその後の処理で登場するsidebarが表示されなくなるという、WordPressあるあるのエラーが出てしまった。
 あと、function_exists()は、命名衝突を防ぐ為にも使われているようなので、自分で関数を定義する時にもfunctions.phpの中で毎回書いておいた方がよさげだな……(<-ここ、まだよくわかっていないのでまた別に掘り下げる予定)。
 追記
 命名衝突回避の際には、以下のようになる。

if ( ! function_exists( 'foo_setup' ) ) :