WordPressでは投稿編集画面で直接PHPを書いても動作しません。
正しくPHP処理を動作させる為の2つの方法をご紹介します。
【2つの方法】ショートコードとExec-PHP
メジャーなやり方として2つの方法があります。
- プラグインで投稿にPHPを埋め込めるようにする
- WordPress標準機能の「ショートコード」を利用する
プラグイン”Exec-PHP”で投稿にPHPを埋め込めるようにする
この方法はとても簡単です。
Exec-PHPというプラグインをインストールしてしまえば、投稿画面からPHPのコードを埋め込む事が可能になります。
<?php echo 'hello'; ?>
このようなコードを投稿画面で書けば動きます。
WordPress標準機能のショートコードを利用する
WordPressの標準のショートコードという機能を利用してPHPを埋め込む事も出来ます。
直接投稿にPHPを書き込めるわけではなく、別ファイルに記述したPHPのメソッドを投稿から呼び出すという方法になります。
どちらを選ぶか
プログラミングやPHPの知識があるなら、WordPress標準機能の「ショートコード」を。
プログラミングやPHPがよくわからず、難しいことをしたくないなら「Exec-PHP」もありだと思います。
なぜかというと、プラグインを利用した場合はセキュリティが甘くなってしまうようです。
また、プログラミングするなら別ファイルにプログラミングした方がやりやすいです。
ですので、なるべくショートコードを使うのが好ましいですが、技術的なハードルから「Exec-PHP」を利用するケースもあるかなと思います。
ショートコードの使い方
functions.phpにメソッドを実装とショートカット登録
まずは、functions.phpにPHPメソッドを実装します。
functions.phpの場所はこちら
[WordPressのインストールディレクトリ]/wp/wp-content/themes/[使用しているテーマ]/functions.php
※ファイルの編集方法がわからない方は下記の記事が参考になります。
functions.phpにメソッドを実装したら、add_shortcode()でショートカット登録してあげる必要があります。
現在時刻を表示するショートカットを登録したければ下記のようになります。
function printDate() {
return date('Y/m/d H:i:s');
}
add_shortcode('printDate', 'printDate');
ここでコーディングミスするとワードプレスが表示されなくなります。
念のため「functions.php」をバックアップしておきましょう。
投稿から呼び出す
投稿から呼び出すと時は、タグ名を[]でくくればOK。
タグ名は、add_shortcode()の1番目の引数です。
先程のサンプルを呼び出すには下記のようになります。
[printDate]
まとめ
WordPressでPHPを扱う方法でした。
少し手間はかかりますが、できればショートコードの方を利用しましょう。
少しでも参考になれば幸いです。
最後までお読み頂きありがとうございました。