WordPressでPHPのインクルードファイルを一つのファイルにまとめる方法
WordPressのテーマでインクルード使っていますか?
私も使っています、広告を挿入する箇所のAdsenseのコードとかはテーマのテンプレートに直接書かずにインクルードで読み込ませるようにしています、そうしたほうがそのコードだけを変えたいっていうときにファイルを開いてささっと作業ができてしまします
でも、インクルードのデメリットはインクルードのファイルが増えれば増えるほどごちゃごちゃになってきます、そこでインクルードのファイルをまとめれないかなっと思って、色々さがしていて ショートコードを使う方法もありましたがなんだかスマートじゃない! ショートコードは基本的にテーマのテンプレート内で使うものじゃないので、さらいにfunctions.phpに全部突っ込むのはどうかなって思って
インクルードされているものをまとめるファイルを作ってそこで管理をしたいので、インクルードをまとめたファイルを作って、それをfunctions.phpでテーマファイルと一緒に読み込むようにして、そこで関数を使って テーマ内で呼び出せるようにしました
経緯と前置きでした。
WordPressでPHPのインクルードファイルを一つのファイルにまとめる方法
さて本題です
- インクルードをまとめる用のparts.phpファイルの作成
- functions.phpでparts.phpをテーマファイルの一部として読み込ませる
- parts.phpにインクルードさせていたものを書く
- テーマでparts.phpから必要なコードを呼び出す
こういったステップでの作業になります
インクルードをまとめる用のparts.phpファイルの作成
まずは、インクルードさせていたものをまとめるようのファイルを作成します、名前は今回はparts.phpとしますが好きな名前で構いません、設置する位置はテーマフォルダの中でindex.php等と同じ階層にしました
functions.phpでparts.phpをテーマファイルの一部としてして読み込ませる
//パーツ呼び出し用のテンプレ require_once( get_template_directory() . '/parts.php' );
このようのfunctions.phpに一行追加します、これでparts.phpがテーマのファイルの一部として読み込まれます
parts.phpにインクルードさせていたものを書く
今までインクルードさせていたコードを、まとめます。それぞれを呼び出す名称を付けて一つのfunction()とします、その名称を使って後にパーツとして呼び出します
<?php function parts_one() { ?> <p>パーツその1</p> <?php } ?> <?php function parts_two() { ?> <h2>パーツその2</h2> <?php } ?>
主にHTML等を呼び出す場合にはこのような書き方で、HTMLをあまり使わない場合は HTML部分をechoで出力させる方法でも出来ます。
echoでHTMLを出力させる場合はこの様にも書けます
<?php function parts_one() { echo "<p>パーツその</p>"; } function parts_two() { echo "<h2>パーツその2</h2>"; } ?>
function parts_one() {}で一つの関数として存在します
parts_oneのところは好きな名称でパーツを自分なりの呼び出しやすい様にすると良いでしょう
テーマでparts.phpから必要なコードを呼び出す
最後に、まとめたコードから必要な部分を呼び出す方法です。テーマのテンプレート内で
<?php parts_one(); ?>
これは parts_oneの内容を呼び出しています。今回の例では HTMLには<p>パーツその1</p>が入ることになります
インクルードを一つのPHPにまとめて、関数として扱うことで呼び出すときもとても短いPHPのコードとして呼び出すことが出来ます
複数のインクルードファイルが邪魔になってきたなって思った時はこの方法を使ってみてください
COMMENT