WordPressのショートコードでPHPを使い自由度の高いサイト作成

WordPressをブログではなくCMSとして使ってサイト作成しています。
無料で良質なCMSって探すのめんどくさいし使いなれたWordPressが一番いいですね。
プラグインもデザインも充実しているし、情報も豊富です。

ブログとしては使ったことあるんですが、サイトとして使ったことがなかったのでPHPを使えないことに不便に思ったことはなかったんですが、サイトを作るには結構不便です。

そこでPHPが使えるプラグインを探していたんですが、Exec-PHPというプラグインは8年も更新されておらず、eval()関数はマニュアルで非常に危険なコードとされていますがExec-PHPではこの関数が使われているそうです。

そこで記事内でPHPを使う選択肢としてショートコードというモノがありました。
まずWordPressの以下の階層に

/wp-content/themes/「デザインテンプレート」
functions.phpというファイルがあります。

functions.php内に以下のコードを追加します。

function shortcode_test(){
  return "ショートコードだよ";
}
add_shortcode('sc_test', 'shortcode_test');

あとは使いたい記事内で[ショートコード名]、今回はsc_testを呼び出せば
「ショートコードだよ」という文字が出力されます。このようにしてPHPを実行できますが、大きい規模のPHPを使う時には煩わしいです。
そこで、test.phpというファイルを作り中には以下のように記述します。

<?php echo 'Hello! myphp'; ?>

functions.phpには以下のように書き換えておきます。

function shortcode_test(){
include('test.php');
}
add_shortcode('sc_test', 'shortcode_test');

これでショートコードを使ってtest.php内のPHPが実行できます。
一度、構造さえ作ってしまえばWordPress内で編集しなくていいので発想次第で色々できそうですね。WordPress内でヘッダ、フッタ、サイドバー、記事用のPHPファイルを作っておきフォルダにまとめて管理すればかなり使いやすくなると思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする