記事の中でphpコードを実行するShortcode Exec PHPプラグインを使ってみる

公開日| 2012年9月24日   更新日| 2012年9月25日   2 個のコメントがあります。

記事の中でphpコードを実行するrunPHPプラグインを使うも問題が… にて、記事の中でphpコードを実行する runPHP プラグインについて解説しました。
先の runPHP では、記事の中にphpコードを埋め込むことで実現していました。
今回紹介するShortcode Exec PHPプラグイン は、記事に直接phpコードは埋め込みません
Shortcode Exec PHPプラグイン では、記事の中にショートコード ([]で括ったコード)にて、あらかじめ登録しているphpコードの名前を埋め込むことで実行します。

例えば、あらかじめ登録されているphpコード名が、hogehogeだったとします。そのphpコードが以下のようなものだったといます。

echo bloginfo();

上記コードを実行しようと思えば、以下のようなショートコードを記事に中に埋め込むことで実行できます。

[hogehoge]

上記に実行結果が、以下のように表示されます。

Wordpressをインストールしてみた

runPHP と比べると一手間増えた感じもしますが、セキュリティ面からすれば、より良くなっています。

今回は、Shortcode Exec PHPのインストールから、簡単な使い方まで解説してみたいと思います。

Shortcode Exec PHP をインストールして、使ってみる

インストールは、通常のプラグインと同様で、ZIPファイルをダウンロードし、Wordpressインストール先/wp-content/plugins/ フォルダへ解凍、アップロードするだけです。
最新版は、以下のダウンロード先から ダウンロードできます。
ダウンロード先:http://wordpress.org/extend/plugins/shortcode-exec-php/

  1. アップロードが完了したら、プラグインの有効化をクリックして 有効 にします。

    管理画面の [ プラグイン ] – [ インストール済みプラグイン ] をクリックし、プラグイン一覧の中から Shortcode Exec PHP を見つけます。
    Shortcode Exec PHPプラグイン無効状態
    有効化をクリック
    Shortcode Exec PHPプラグイン有効状態


  2. Shortcode Exec PHPのオプションを確認しておきます。

    管理画面の [ ツール ] – [ Shortcode Exec PHP ] をクリックします。
    Shortcode Exec PHPプラグインオプション
    ここで設定できるものは、以下のとおりです。また、セキュリティ上、phpコードの編集やこのオプションの編集は管理者のみ設定できるようになっています。
    つまり、管理者権限がなければ好きなようにphpコード実行できないことになります。この点で、runPHPよりはセキュアなんですね。 runPHPは、実行するかしないの設定ぐらいは権限設定できましが、既にrunPHPを実行するようになっていた場合、管理者でなく記事の編集者がphpコードを自在に実行することができてしまいます。 この点は、非常に危険な点です。

    オプション名日本語訳(解説)
    Execute shortcodes in (sidebar) widgets ウィジェット(sidebar)部 でshortcode を実行
    Execute shortcodes in excerpts 概要(excerpts)部 でshortcode を実行
    Execute shortcodes in comments コメント部 でshortcode を実行
    Execute shortcodes in RSS feeds RSS feeds部 でshortcode を実行
    Disable wpautop wpautop無効 (自動成形を無効にする)
    Width of code box px コードボックスの幅 (px)
    *コードボックスはphpエディタのこと
    Height of code box px コードボックスの高さ (px)
    *コードボックスはphpエディタのこと
    Do not display code editor initially 最初はコードエディタ を表示しない
    *チェックすると phpコードエディタでなく単純TextAreaを表示することになる
    PCRE backtrack limit (1,000,000) PCRE backtrack limit (1,000,000)
    *大きなページでうまく表示できない場合は指定する。
    PCRE recursion limit (100,000) PCRE recursion limit (100,000)
    *大きなページでうまく表示できない場合は指定する。
    Add button to TinyMCE editor TinyMCE editorへボタンを追加
    投稿画面のビジュアル編集に [] のアイコンが追加されてボタンクリックで挿入できるようになる。
    Required capability for TinyMCE button TinyMCE ボタンのための権限を要求
    投稿画面のビジュアル編集に [] のアイコンが使えるユーザの権限を指定できる。
    Required capability for authors to execute shortcodes shortcodesを実行する作者のための権限を要求
    shortcodesを実行するユーザの権限を指定できる。
    Delete options and shortcodes on deactivation (and when upgrading!) (アップグレードする際に) オプションと非活性のshortcodesを削除
    I have donated to this plugin このプラグインに寄付する

    上記オプションは、ほとんどの方は、特別編集する必要もないと思います。


  3. 記事にShortcode Exec PHPを埋め込むためのphpコードを編集します。

    先のオプション設定画面 ( 管理画面の [ ツール ] – [ Shortcode Exec PHP ] ) の下 にPHPコードエディターが表示されているはずです。
    PHPコードエディター
    サンプルソースコード である hello_world という名前の Shortcode があると思います。

    1
    2
    3
    4
    
    extract(shortcode_atts(array('arg' => 'default'), $atts));
    echo "Hello world!" . PHP_EOL;
    echo "Arg=" . $arg . PHP_EOL;
    echo "Content=" . $content . PHP_EOL;

    上位コードは、非常に簡単なコードです。一応、簡単に解説しておきます。

    1行目 : $atts(ショートコードの入力情報) を $arg へ分割しています。
    2行目 : ‘Hello world!’ と出力しています。
    3行目 : $arg(1行目で入力情報’arg’の値を保存した変数) を出力しています。
    4行目 : $content(ショートコードのコンテンツ情報) を出力しています。

    続けて、今度は記事のどのように埋め込むか書いてみます。


  4. 適当な記事でShortcode Exec PHPを埋め込み、phpコードを実行してみます。

    先のhello_world という名前の Shortcode (PHPコード)を実行したい適当な記事の編集画面を表示します。
    記事にShortcode Exec PHPを埋め込む
    上記のように [] でショートコード名を括って実行します。
    サンプルソースコード である hello_world という名前の Shortcode を実行する場合、以下のように書くことができます。

    1
    2
    3
    
    [hello_world arg="ほげほげ"][/hello_world]
    [hello_world arg="ほげほげ"]のろのろ[/hello_world]
    [hello_world][/hello_world]
    ショートコード書式
    [ショートコード名 パラメータ]コンテンツ[/ショートコード名]
    
    パラメータ: $atts へ array形式で渡されます。
    コンテンツ: $content へ string形式で渡されます。

    上位の記事を実行すると以下のように表示されます。

    記事内のShortcode Exec PHPの実行結果

    上記の出力結果を簡単に解説しておきます。

    1行目 : 入力パラメータに’ほげほげ’を渡していますので、Arg=ほげほげと出力されています。
    2行目 : 1行目に加えてコンテンツに ‘のろのろ’ を渡していますので、Arg=ほげほげContent=のろのろと出力されています。
    3行目 : 入力パラメータもコンテンツも渡していません。Arg=default とデフォルトの値が出力されています。


runPHPに比べると一手間ありますが、使い方によっては、同じようなコードを何回も書かなくても1つだけきれいに書けば使いまわしができそうですね。
runPHPよりはセキュアなので、どうしてもphpコードを実行したいときには、一考の価値ありかもです。


コメント

2 件 口コミ・評判があります。 口コミ・評判を投稿する
  1. […] ※とりあえず作成したPHPコードを試す場合、Shortcode Exec PHPあたりのプラグインが便利でオススメ。ショートコードを作成できること、とりあえずエラーがないかどうかのチェックはできるため。 […]

  2. 注目記事20130716
    2013年7月17日, 1:45 PM

    […] shortcode exec php プラグイン […]

口コミ・評判を投稿 :

ブラウザの JavaScriptが無効となっている場合、コメントの投稿はできません。
コメントを投稿するには、JavaScriptを有効にしてください

お名前 *

メールアドレス *
(口コミ・評判欄には、表示されませんが入力が必要です。)

サイトアドレス



  • はてなブックマークへ追加する
  • Facebookでシェアする
  • twitter でつぶやく
  • Google Plusでシェアする
  • Pocketでシェアする
ページトップへ