WordPressの投稿・固定ページでPHPプログラムを実行することが可能です。
WordPress(ワードプレス)で投稿や固定ページで直接PHPのコードを実行したいという要望に応えるための記事です。
目次
WordPressのページ内でPHPを利用する方法
WordPressで独自のPHPコードを実行する方法は次の3種類があります。
- テンプレートを編集する方法
- ショートコードを利用して書く方法
- ページ毎にPHPを直接書く方法
それぞれの特徴を見ていきましょう。
テンプレートを編集する方法
もっともオーソドックスな方法です。
テーマファイルを編集し、必要なPHPコードを埋め込むことで動作します。
子テーマを作成することで、テーマのアップデートでPHPコードが消えるなどは防げますが、テーマをいじることに違いはないのでテーマの切替に対応できません。
ショートコードを利用して書く方法
もっともおすすめするのがこの方法です。
ショートコードとは、あらかじめ作成したPHPプログラムを、投稿や固定ページから”[~]”のように大括弧で括った形式で呼び出せるWordPress標準の機能です。
ビジュアルモードでもテキストモードでも利用できます。
参考)WordPressが標準で持つショートコードについて
ショートコード – WordPress Codex 日本語版
WordPressには多数のフィルターやフックが用意されていますので、世の中のテーマやプラグインで提供されている機能はすべて作ることができると考えていただけます。
自作のショートコードを利用する場合はテーマの functions.php に直接記述します。
functions.php に記述するとテーマに依存してしまいますが、Post Snippetsプラグインなどのショートコード作成・管理用のプラグインを利用することでテーマと切り離して扱えるので、テンプレートの編集と違ってテーマ依存の問題を減らせます。
Post Snippets – WordPressプラグイン
ページ毎にPHPを直接書く方法
恐らくこの記事を探した方はこの方法を求めていると思います。
とりあえずExec-PHPプラグインをインストールすれば利用可能です。
ただし、まったくおすすめしません。理由は後述します。
下記のプラグインをインストールすれば、投稿や固定ページで直接PHPのコードを記述して実行できるようになります。
Exec-PHPをおすすめしない理由
弊社の場合は次の様な理由で投稿・固定ページ内に直接PHPのコードを書けるようにする点をおすすめしていません。
- WordPressの設計思想から外れる(気がする)
- 複数の投稿者(とくに自由に登録が可能な)がいるサイトでのセキュリティリスクが高まる
- ビジュアルモードとテキストモードの切替でコードが壊れる
- 8年も更新されていない
WordPressの利用者のスキル・モラルに強く依存すると言うことですね。
まとめ
繰り返しになりますが、PHPのコードを利用したいのであれば、プラグインとショートコードを利用する方法をもっともおすすめいたします。
トラブルの原因がプラグインであっても、撰んだあなたに責任が発生してしまいますからね。