WordPressでPHPのインクルードファイルを一つのファイルにまとめる方法

Wordpress
このエントリーをはてなブックマークに追加
PR

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のコードとして呼び出すことが出来ます

 

 

複数のインクルードファイルが邪魔になってきたなって思った時はこの方法を使ってみてください

PR

COMMENT

コメントを残す

PR

9ineBBの管理人が運営するサイト

WDG WEB DESIGN GALLERY ウェブデザインギャラリー CC0 PHOTO 無料で使える高画質な写真をダウンロード、クレジット表記、リンク不要

9ineBBの最新情報をチェック・購読

Twitter Facebook Google+ Feedly RSS

どこをクリックしてもこの表示を消せます
(3日後以降に再度表示されます)