diary
diary
パーツ化したphpのインクルードファイルを、投稿や固定ページなどに読み込ませたい。
固定ページのエディットエリアにも、phpが書ければいいのに!!!
みたいなことって、多々あります。例えば、この記事は、特定の記事一覧を出したい。とか。記事一覧を出す場合、プラグインとかでなんとかなったりするものですが、プラグインって重くなるからあんまり入れなくないなーって時なんかに役立ちます。
呼び出したい記述をphpファイルに書いてパーツ化し、任意の場所でショートコードで呼び出せば可能
以下の記述をfunction.phpに書き込む
- /* ------------------------------
- インクルードファイルをショートコードで呼び出す
- ------------------------------ */
- function Include_my_php($params = array()) {
- extract(shortcode_atts(array(
- 'file' => 'default'
- ), $params));
- ob_start();
- include(get_stylesheet_directory() . "/inc/$file.php");
- return ob_get_clean();
- }
- add_shortcode('myphp', 'Include_my_php');
少し説明すると、この行の部分は、
- include(get_stylesheet_directory() . "/inc/$file.php");
子テーマのディレクトリーに設置されている「inc」というフォルダーの中にあるphpファイル という感じ。
この、「inc」は好きな文字列でOK。
例えば「include」とかわかりやすい名前でもいいし、「lib」や「library」、すでに設置されているフォルダーの名前でもOK。
インクルードしたいファイルをフォルダーに入れず、子テーマ直下に置く場合は以下のようにする。
- include(get_stylesheet_directory() . "/$file.php");
実装させたいことを書いたphpファイルを仮に、bass.phpというファイル名をつけたとして、これを「inc」フォルダーにアップ。
そして、表示させたいところに、以下のショートコードを書く。
- [myphp file='bass']