【WordPress】PHPによるコンテンツを公開する方法

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で作ったコンテンツを公開したい時に、参考にしていただけたらと思います。

 

コメントを残す

メールアドレスが公開されることはありません。