[WordPress]記事内にphpテンプレートをショートコードで呼び出す方法

WordPress記事内で、自分の作ったphpテンプレートファイルを呼び出したい機会があると思います。

広告の挿入だったり、特定カテゴリーの最新記事を表示させたりphpを用いて固定文を記事内の任意の場所に挿入したい場合など記事内にphpテンプレートを呼び出すことが出来たらカスタマイズの幅も広がりますよね。

しかし、WordPressは記事内で基本的にphpを使うことは出来ません。

厳密にいえば、プラグイン使用で使えるようにはなりますが、セキュリティ面で利用はあまりオススメ出来ないという情報を結構目にしますし、何よりプラグインが増えるのは嫌なので、今回はショートコードを使って記事内にphpテンプレートを呼び出す方法をご紹介します。

ちょっとPRです

みっぴー(@bennriya_mi)です~。

アイキャッチを変えただけで、広告表示回数が5倍になりました。(こっそり独り言)

今回、そのアイキャッチを誰でも使えるようにテンプレにしました。
詳しくは、下記にて

アイキャッチテンプレート150種について


今回のショートコードでphpファイルを呼び出すカスタマイズの内容

みっぴー

今回のカスタマイズでこんな事が出来るようになるよ!

今回のカスタマイズの内容をまとめると下記の通りです。

ショートコードでphpファイルを呼び出すカスタマイズの内容
  1. 自作したphpファイルをショートコードで呼び出せる
  2. phpが使えない記事内でも呼び出し可能
  3. phpファイルの中身は好きに指定できるので無限のカスタマイズが可能になる

修正するファイル

今回のカスタマイズで編集するファイルは下記の通りです。

このカスタマイズで修正するファイル
  1. functions.php
  2. template1.php

「template1.php」は、ご自身で好きな名前に変更可能です。ここで呼び出すテンプレートの中身になります。

注意
functions.phpのファイルを編集する場合は、必ずバックアップを取った上で編集してください。functions.phpの記入を誤るとブログの画面が真っ白になって管理画面にさえも入れなくなります。編集は慎重に行ってください。万が一、真っ白になった場合は「[WordPress]functions.phpを編集後に画面が真っ白になった時の対処法と注意点」を参考にしてください。

[WordPress]functions.phpを編集後に画面が真っ白になった時の対処法と注意点

記事内にショートコードを使ってphpテンプレートを呼び出す方法

記事内にプラグインなしでphpファイルを呼び出す手順は、下記の通りです。

みっぴー

とっても簡単です!
    phpファイルをショートコードで呼び出す手順
  • STEP.1
    ショートコードを定義
    functions.php」にこれから紹介するコードを追記して新しいショートコードを定義します。
  • STEP.2
    phpファイル作成
    自作のphpファイルを作成します。
  • STEP.3
    記事内にショートコード貼り付け
    記事内に作成したphpファイルを呼び出すショートコードを張り付けます。


【オススメツールをちょっと紹介】
複数のASPを一括で管理する無料のツール
案件の報酬額を比較できるので、1番条件の良いASPを簡単に見つけることが出来ます!

1.ショートコードを定義

まずは、呼び出すショートコードを定義します。

functions.phpを編集します。

お使いのテーマフォルダの中の「functions.php」に下記のコードを追加してください。

functions.php
//ショートコードを使ったphpファイルの呼び出し
function my_php_Include($params = array()) {
 extract(shortcode_atts(array('file' => 'default'), $params));
 ob_start();
 include(STYLESHEETPATH . "/$file.php");
 return ob_get_clean();
}
add_shortcode('myphp', 'my_php_Include');
functions.phpはどこ?

レンタルサーバーのFTPにログインしてください。

編集するブログのファイルが入ってるところまで進んでください。

みっぴー

大体の場合はブログ名のフォルダの中かな?

それから下記の通り進んでいくとfunctions.phpがあります。

ブログ名/wp-content/themes/お使いのテーマ/functions.php

子テーマでカスタマイズをしている人は、子テーマの中のfunctions.phpに追記してください。

2.phpファイル作成

呼び出すショートコードを定義したら、次にショートコードで呼び出すテンプレートを作成します。

/wp-content/themes/お使いのテーマ(もしくは子テーマ)

子テーマでカスタマイズをしている場合は、子テーマの中に下記のようなファイルを作ってください。

例えば、「template1」というファイルを作りたい場合は、「template1.php」というファイル名にして保存してください。

中身は、広告であったり挿入したいテンプレートの中身なのでご自身のお好きに作成してください。

ファイル名も例なので、あなたの好きなように変えてください。

3.記事内にショートコード貼り付け

次に上記で作成したtemplate1.phpというファイルを記事内で呼び出すためのショートコードについてです。

下記のように、記載すると作成した「template1.php」のテンプレートファイルを呼び出す事が出来ます。

ショートコード
[myphp file='template1']

template1」の部分は、あなたが作成したファイル名と同じにしてください。

これで、phpテンプレート内の内容が記事に反映されるはずです。

使い道

私は、Googleアドセンスの広告を呼び出すのに使っています。

ログイン中のユーザー(つまり自分)の時は、広告を非表示にしたいので、phpを使って除外するためにテンプレートを使って呼び出しています。

その方法については、「アドセンス広告を自分だけ非表示にする方法」にてご紹介しています。

AdSenseをWordPressブログで自分だけ非表示にする方法