WordPressで制作するWebサイトは比較的ボリュームのあるサイトになる事が多い為、テンプレートファイル側に書く処理も膨大になりがちです。
そんな時、プログラマー的な発想をすると「共通化したい!」と強く思います。
(でも共通化をしすぎると逆にコードの見通しが悪くなるケースもあるので、バランスをとって程々に収めるのが重要です。)
今回はその方法を幾つかメモしておきます。
1.WordPressのテンプレートタグを利用する
WordPressではテンプレート階層を元にファイルを分割するのが前提となっていますので、下記のようなタグを使用するのがオーソドックスな方法です。
1 2 3 4 5 | <?php<br> get_header(); //header.phpを読み込む<br> get_sidebar(); //sidebar.phpを読み込む<br> get_footer(); //footer.phpを読み込む<br> ?><br> |
1 2 3 | <?php<br> get_sidebar( 'sub' ); //sidebar-sub.phpを読み込む<br> ?><br> |
2.PHPのinclude文を利用する
こちらはPHPのinclude文を使用する方法です。
PHP的には全然特殊な方法ではありませんが、意外と気づかない方法だったりします。
パスの指定にはWordPressのグローバル定数「TEMPLATEPATH」を使用すると良いでしょう。
1 2 3 4 | <?php<br> include TEMPLATEPATH . '/sample_function.php' ;<br> include TEMPLATEPATH . '/common/sample_function.php' ; //下層ディレクトリも指定可能<br> ?><br> |
「テンプレートファイルは分ける必要があるけど記述する内容は同じ処理。でもfunction.phpの中に書くのもちょっと違う。」といった場合にもこれで共通化できます。