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']