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