WordPressの記事内で、自分の作ったphpテンプレートやファイルを呼び出したい機会があると思います。
広告の挿入だったり、特定カテゴリーの最新記事を表示させたりphpを用いて固定文を記事内の任意の場所に挿入したい場合など記事内にphpテンプレートを呼び出すことが出来たらカスタマイズの幅も広がりますよね。
しかし、WordPressは記事内で基本的にphpを使うことは出来ません。
厳密にいえば、プラグイン使用で使えるようにはなりますが、セキュリティ面で利用はあまりオススメ出来ないという情報を結構目にしますし、何よりプラグインが増えるのは嫌なので、今回はショートコードを使って記事内にphpテンプレートを呼び出す方法をご紹介します。
みっぴー(@bennriya_mi)です~。
アイキャッチを変えただけで、広告表示回数が5倍になりました。(こっそり独り言)
今回、そのアイキャッチを誰でも使えるようにテンプレにしました。
詳しくは、下記にて
目次
今回のショートコードでphpファイルを呼び出すカスタマイズの内容
みっぴー
今回のカスタマイズの内容をまとめると下記の通りです。
- 自作したphpファイルをショートコードで呼び出せる
- phpが使えない記事内でも呼び出し可能
- phpファイルの中身は好きに指定できるので無限のカスタマイズが可能になる
修正するファイル
今回のカスタマイズで編集するファイルは下記の通りです。
- functions.php
- template1.php
「template1.php」は、ご自身で好きな名前に変更可能です。ここで呼び出すテンプレートの中身になります。
functions.php
のファイルを編集する場合は、必ずバックアップを取った上で編集してください。functions.php
の記入を誤るとブログの画面が真っ白になって管理画面にさえも入れなくなります。編集は慎重に行ってください。万が一、真っ白になった場合は「[WordPress]functions.phpを編集後に画面が真っ白になった時の対処法と注意点」を参考にしてください。
[WordPress]functions.phpを編集後に画面が真っ白になった時の対処法と注意点
記事内にショートコードを使ってphpテンプレートを呼び出す方法
記事内にプラグインなしでphpファイルを呼び出す手順は、下記の通りです。
みっぴー
- STEP.1ショートコードを定義「
functions.php
」にこれから紹介するコードを追記して新しいショートコードを定義します。 - STEP.2phpファイル作成自作のphpファイルを作成します。
- STEP.3記事内にショートコード貼り付け記事内に作成したphpファイルを呼び出すショートコードを張り付けます。
1.ショートコードを定義
まずは、呼び出すショートコードを定義します。
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');
レンタルサーバーの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ブログで自分だけ非表示にする方法