Exec-PHPはwordpressの投稿本文内でPHPを実行できるようにするプラグインです。この目的のプラグインの中では最も有名ではないでしょうか。で、管理してるサイト(このスドコガではないです)でこのプラグインが使えなくなってしまったので代替案を探していたところ、Snipletsというプラグインを導入したことで解決しました。

Exec-PHPはインストール後もいくつか注意が必要で
- 設定→投稿設定の「不正にネスト化した XHTML を自動的に修正する」にチェックが入っているとうまくいかない。
- 投稿者の権限を指定しておかないとうまくいかない。
- タグを使用するときにうまくいかない。(回避するにはwp-includes内のformatting.phpを編集する必要あり。wordpressでexec-phpが対応がmoreで反応しない件 | PHP | 俺のメモに詳しく書かれていました)
などなど注意点はあります。が、普通に使っていて動かなくなることはあまりないはず。
ですが、スドコが管理してる某サイトで急に動かなくなってしまいました。原因不明。
原因不明のまま放置するのは気持ち悪いですが、復旧が急務だったので急いでいろいろやってたらSnpipletsを使うことで復旧できました。
Snipletsを導入する(本来の機能は全く使わない)
Snipletsは「自分専用のショートコードを作る」プラグインです。またあらかじめ設定した条件を満たしたときに自動的にテキストが挿入される、とかそういうこともできるっぽいです。
そして、その機能の一部として、投稿本文内でのPHPの実行が可能になります。
やり方は簡単。
- インストール。普通にpluginsフォルダに入れて、管理画面で使用開始をポチっと。
- Tools→Sniplets をクリックしてSnipletsの環境設定に。
- 環境設定内、上部のメニューリストからOptionをクリック。
- Execute PHP in posts: Automatically execute any code between < ?php ... ?> にチェックを入れる。
以上です。
本来の機能であるショートコードを作る機能は全く使ってませんが、これで記事内でのPHPが実行できるようになります。
Exec-PHPの作者曰く、
Although it is harder to configure than Exec-PHP, you may gain some improvements in security due to the way the Sniplets plugin is working.
(意訳)Eeec-PHPよりか複雑だけど、セキュリティ的にはいいかも。
なのだそう。
Snipletsは日本語の情報がほぼ皆無。
便利そうなプラグインなので、覗いて見て下さいね。
特にHTMLがわからないクライアントに使わせるときはいろいろできそう、かも?
ちなみに、PHP ExecというプラグインもPHP実行環境が作れるようですね。名前が似てますがExec-PHPとは別物。こちらは
Sniplets Plugin – Insert text, include AdSense, highlight code, run PHP | Urban Giraffe
Bluesome | Exec-PHP plugin for WordPress
Priyadi’s Place » Blog Archive » Wordpress PHP Exec Plugin
なんにせよ、復旧してよかった!




The are no comments posted for this entry. Be the first to comment!