WordPressを使って、PHPでコーディングしたアンケートフォームなどの独自のコンテンツを公開したい場合、どのような方法があるのか、考えてみました。
function.phpを使う方法
まず、思いつくのが、function.phpを使う方法です。
function.phpにコーディングし、ショートコードタグを追加します。
function.php
function my_php_shortcode() {
// ここにコーディングします
}
add_shortcode('myphp', 'myphp_shortcode');
そして、投稿もしくは固定ページ内で追加したショートコードを呼び出します。
投稿もしくは固定ページ内
[myphp]
コンテンツの数だけ、ショートコードタグを追加する必要があります。
メリット
- function.php内にコーディングするので、ファイル数が少なくて済みます。
- もっともシンプルで、分かりやすい方法だと思います。
デメリット
- コーディングが誤っている場合に、WordPress内の全ページが真っ白になります。
- 内容によってはfunction.phpが肥大化し、全ページの表示速度に影響が出ます。
個別にPHPファイルを作成する方法
コンテンツごとにPHPファイルを作成します。そして、投稿からPHPファイルを呼び出します。
そのための準備として、投稿からPHPファイルを呼び出すためのショートコードをfunction.phpに記述します。
function.php
function Include_my_php($params = array()) {
extract(shortcode_atts(array(
'file' => 'default'
), $params));
ob_start();
get_template_part($file,'');
return ob_get_clean();
}
add_shortcode('myphp', 'Include_my_php');
先ほど作成したショートコードから呼び出されるPHPファイルです。
test.php
// ここにコーディングします。
今回のショートコードタグmyphpはパラメータ(ファイル名)をとります。
そして、子テーマディレクトリに配置されているファイル名.phpが呼び出されます。
投稿もしくは固定ページ内
[myphp file='test']
コンテンツの数だけ、PHPファイルを作成する必要があります。
メリット
- 誤ったコーディングをしても全ページが真っ白になることはありません。
- 下書きや非公開ページを利用することで、本番環境でテストを行うことができます。
- コンテンツ別にPHPファイルを分けて管理することができます。
デメリット
- コンテンツの数だけPHPファイルが必要です。
まとめ
function.phpは、WordPress全体の機能を管理するファイルです。
function.phpに記述する方法では、やりたいことは実現できますが、うまいやり方とは言えないと思います。
PHPで作ったコンテンツを公開したい時に、参考にしていただけたらと思います。
コメントを残す