【WordPress】投稿ページからショートコードでPHPファイルを呼び込む方法が便利!

WEB制作・開発実例・コラム
2019.07.31
2019.09.04
投稿ページにショートコードで PHPファイルを呼び出す方法

wordpressのショートコードとは?

ショートコードを目にする機会といえば、お問い合わせプラグインのMW WP formや目次自動生成のTable of Contents Plusあたりを使う時ではないでしょうか?

通常投稿ページ内には書けないプログラムなどを呼び出したい時に短いコードを記述してそのプログラムを呼び出すのがショートコードです。

今回はショートコード自体を作るのではなく、投稿ページや固定ページからショートコードでPHPファイルを呼び込む方法です!
特定の投稿記事や固定ページの中の任意の場所にPHPファイルを表示させたい時に便利です。

使用シーン

例えばSNSでのシェアボタン一覧や、お問い合わせのCTAなどといったパーツを表示させる際、
表示させる場所が”本文記事の1番下”などと決まっていれば、テーマファイルのphp内にインクルードする方法でいいと思うのですが、投稿記事によって表示させたり表示させない場合がある時や、またその位置を任意で変えたいなどといった、運営上小回りの効く方法を求められる事があるかと思います。
そんな時に投稿者側で固定ページもしくは投稿ページにショートコードを記述する事で表示させられるといった内容になります。

他にもこんな時に便利!

  • 繰り返して使う定型文、毎回コピペはめんどくさいのでショートコードにしたい
  • 記事によってパーツ(関連記事、クチコミ、投稿者情報、検索BOXなどなど)を好きなところに表示したい

こんな時のカスタマイズにぴったりの方法かと思います!

作業の手順

手順は本当に簡単です!function.phpにコードをかけばあとは、投稿画面の任意の場所にショートコードを書くだけです。

前提

予め読み込みたいphpファイルがすでにサーバーにある事が前提の記事となります。
今回はSNSのシェアボタン一覧をshared-button.phpで作成し、投稿記事に呼び出したいと思います

function.phpにコードを記述

下記のコードをfunction.phpに記述してください。
function.phpを触る時は必ずバックアップを取り、テキストエディタで編集する事をお勧めします。少しでも間違えるとサイトが真っ白になったりエラーが表示されてしまう為です。バックアップさえとっていれば怖くないですよ!

function.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('callphp', 'my_php_Include');

add_shortcode('callphp', 'my_php_Include');callphpの部分は任意で変更してOKです。

呼び出すphpファイルが別階層にある場合

phpファイルがたくさんあり、どこかのディレクトリ配下にまとめている場合など、呼び出すphpファイルがfunction.phpとは別の階層にある場合は、
include(STYLESHEETPATH . "/$file.php");こちらの“/$file.php”この部分を
“/階層のディレクトリ名/$file.php”と、階層のディレクトリ名を記述すればOKです。

早速使ってみましょう!

固定ページや投稿ページの読み込みたい箇所に下記のショートコードを記述します!

[callphp file='shared-button']

file='ここにphpのファイル名を記述します'。拡張子は不要です!
shared-button.phpであれば、shared-buttonのみ、review.phpであればreviewのみでOKです。

無事に表示させたい場所にphpファイルの内容を表示させる事ができました!

SEOやWEB制作に関する情報を検索

コラム

ピックアップコラム

最新コラム

人気コラム

過去の記事

ご質問やご相談などお気軽にお問い合わせください。

お電話でのお問い合わせはこちら

03-5829-9912

受付時間:平日10:00~19:00(土・日・祝日を除く)