固定ページにphpを記述したい時、直接phpコードを書くとエラーが出てしまうので、ショートコードを使って読み込ませるか、phpファイルを丸ごと読み込み表示させます。
ショートコードを使うには、functions.phpにショートコード化するコードを付け加えるか、ショートコードを作成するプラグインを使うかして、固定ページに挿入していく形になりますが、ここではphpファイルを別に用意して、ファイルを丸ごと読み込み表示させる方法を書いていきたいと思います。
なぜそのような事をするのかと言うと、ワールプレス上のページから入力したデータを、転送して表示させるのに、テーマの外観をそのまま利用したいと思ったからです。
思いついたのが、phpファイルを丸ごと読み込み固定ページに表示させる方法とショートコードを作成し、記事に挿入していく方法です。
functions.phpにコードを追加する
まず、ファイルの置き場所は、テーマフォルダ内になります。そして、function.phpにこのようなコードを付け加えます。
//ショートコードを使ったphpファイルの呼び出し方法 function Include_my_php($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('myphp', 'Include_my_php');
次に、固定ページには[myphp file='abc'] と入力します。
※ファイル名がabc.phpであればabcのみ
固定ページの内容(記事)は、post.phpという固定ページの内容を表示させるファイルに<? php the_content(); ?>というタグで<div class="entry-content"></div>の中に記述されます。
記事の内容の一部をphpを使って外部からのデータの受け取りをする。条件分岐をして、必要に応じて表示内容を切り替える。というときに、phpタグを記載したファイルを丸ごと読み込んで、固定ページ表示させることが可能です。
ショートタグを使って一部だけphp化する、という方法もありますし、phpファイルを丸ごと読み込んでしまうという方法もあります。
ここは、管理のしやすさによって使用すればよいところなので、必要に応じて使い分けることです。固定ページのテンプレートを利用しつつ、安易にカスタマイズできないようにしたいときに、使える方法でもあります。
固定ページで書く内容はphpファイルとして作成し、テンプレートフォルダ以下の階層に保存すればOKです。
スポンサードリンク