投稿記事で外部PHPを引数付きで直接実行できるWP Plagin ”Insert PHP Code Snippet”

この記事は、Wordpressの投稿ページまたは固定ページの記事の中にPHPコードを直接書いて実行できるプラグイン「Insert PHP Code Snippet」、別名「XYZ WP Insert Code Snippet」の紹介をしています。WordpressでPHPコードを直書きする場合、定番プラグインは「Post Snippets」です。無料で使い勝手もよいのですが、使っているテーマによっては「Post Snippets」が使用できないことがわかりました。AFFINGER4や海外製のテーマなどがNGでした。

そうした場合の代替プラグインとして「Insert PHP Code Snippet」を見つけたのでこちらで案内します。現状のテーマSANGOでは動いてます。同様に困っている方がいたら参考にしてください。

そもそもPHPは趣味なんで、基本が抜け落ちているかもしれないのですが、初心者レベルのお仲間のためにはなるのであろうと思いまして記事にすることにした次第です。

そもそもWordPressの記事中でPHPを実行するには?

WordPressはPHPで書かれているにもかかわらず、投稿ページに挿入したPHPコードを実行することはできません。もちろんセキュリティを守るためには仕方がないのですが、なんといっても不便極まりないですよね!

私は、アフィリエイト用のコードを「ヨメレバ」や「Amazon JS」を見習ってPHPで自作しておるのですが、記事内にショートコードを設置してPHPを動かすのに苦労をしました。

ではWordpressの投稿ページや固定ページといった「記事」からPHPを動かすにはどうしたらいいのでしょうか?

方法は2つあります。

(1)PHPコードをベタ書きして実行できるようにする

(2)ショートコード経由で実行できるようにする

(1)の「PHPコードをベタ書きして実行」という方法は「Exec-PHP」というプラグインを入れるとできるようです。ですが、以下のサイトで書かれている通りハイリスクです。どのサイトを見ても使用しないほうがよいとのこと。

プラグイン Exec-PHPを避ける理由
Exec-PHPを避ける理由。小さな抜け穴がどこかにあった場合に、「任意の PHP コードができる」という重大な影響を及ぼす

残りは(2)となります。

「ショートコード」というのは、「functions.php」にPHPコードを追記しておくことで、記事中に決められたショートコードを書くと、そのプログラムを呼び出すことができるという機能です。これは、直接「functions.php」をいじってもOKです。以下に方法が載っています。

WordPress投稿ページにPHP利用→ショートコードを使おう!
こんにちは、okutani(@okutani_t)です。WordPressではPHPを使って動的なサイトを構築しています。しかし、投稿ページや固定ページでは、そのままPHPを利用することがで...

私は、最初はこのとおりにやったのですがうまくいきませんでした。さらに、面倒でもあり、やはりプラグインを使うことにしました。

定番は「Post Snippets」

ググると多数派は「Post Snippets」のようです。解説は以下のサイトを。

Post Snippetsの使い方 変数を設定して使いまわせるようにする
  Wordpressでは投稿ページにPHPをそのまま使うことができないので、何らかの措置が必要になります。 かつてはexecPHPというプラグインで実行させている人も...

さっそくこれをインストールして使いました。ですが、ある時テーマを変えたら「Post Snippets」が使えなくなってしまいました。以前は「ストーク」(OPENCAGE)だったんですが「AFFINGER4」と「Genesis Framework」に変えたんです。するとその瞬間から、PHPは動かず、ショートコードがそのまま出力されるようになってしまったのです。困った私は、いくつかの似たような無料のプラグインを試しましたが、どれも駄目。

最後に試したのが「Insert PHP Code Snippet」です。有料なんで迷ったんですが、まあ有料ならテーマが変わったら動かなくなるなんてことは無いだろうと思い、これにすることにしました。このサイトでも快調に動いておりますです。

 Insert PHP Code Snippet(XYZ WP Insert Code Snippet)インストール方法と使い方

まずはダッシュボードの「プラグイン」より「新規を追加」でページを開きます。「キーワード検索」で「Insert PHP Code Snippet」と入力すれば出てきます。

「今すぐインストール」と書かれたボタンを押して、次に「有効化」ボタンを押せば使えるようになります。

有効化が完了するとサイドバーに「XYZ Snippet」というメニューが表示されるようになります。急に名称変更するなといいたいですが我慢しましょう。

一番上の「PHPCode Snippets」をクリックすると、下記の画面が出ます。その他はいじらないで結構です。

「Add New PHP Code Snipets」ボタンを押してください。

次のような画面が出ますので、

登録するショートコード名称を「Tracking Name」の欄へ、

PHPコードを「PHP Code」へ、

入力します。

入力したら「Create」ボタンを押せば登録となります。特別なことはありません。

ショートコードの書式は以下のようになります。赤字の部分が個々のショートコードの名称となります。ショートコードはいくつでも登録できます。

ちなみに引数を付けたいときは「引数名=”xxxxx”」をショートコード内に追加します。

そしてPHPコードに{xxxxx}と書けばそれが、そのまま文字列となります。

さて例をあげます。

記事に書くショートコード
[xyz-ics snippet="snippet" param1="val1"]

引数をparam1という名称で定義、そこにval1という値を入れるという意味になります。引数部分は記事ごとに変更して使い回せます。

PHPコード
<?php
$TEST ={param1};
~
?>
上記のように書いておくとPHP側では{param1} val1 として実行時に自動で書き変わります。つまり{ }は、PHPコードの’ ’と同じ意味です。

以上です。ちなみに引数を使わなければ無料でも使えるようです(私の経験では)。でも私はすぐに購入したので、いつまで無料なのかはわかりません。引数を使う場合は、メーカーのWEBサイトに行って購入が必要なのだと思います。

購入方法と価格

購入する場合は、販売サイトにいってください。
1ドメインあたり19ドルです。購入時にドメイン名も登録します。異なるドメインのWEBサイトでは動きませんのでご注意を! 以下が購入&登録の画面です。

以上です。お役に立てれば幸いです。

以下のサイトにもこのプラグインの情報が載っています。

『Insert PHP Code Snippet』PHPコードを挿入できるWordPress Plugin活用法
Wordpress用プラグイン『Insert PHP Code Snippet』の使い方と、カスタムフィールドを利用した活用法の紹介。カスタムフィールドを利用してテーブルデータをコ...

おすすめの本

初心者向けのPHP入門書

PHPの絵本 第2版 Webアプリ作りが楽しくなる新しい9つの扉

『PHPの絵本 第2版 Webアプリ作りが楽しくなる新しい9つの扉』

著者: 株式会社アンク
出版社: 翔泳社
出版日: 2017-04-14
ASIN: 4798151645
ISBN-10: 4798151645
ISBN-13: 9784798151649





WordPressを前提としたPHP入門書

WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第2版]

『WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第2版]』

著者: 水野 史土
出版社: エムディエヌコーポレーション
出版日: 2017-03-28
ASIN: 4844366580
ISBN-10: 4844366580
ISBN-13: 9784844366584