SOFTELメモ

Softel Inc.

【WordPress】投稿の中でphpを実行したい

プラグインで可能。

プラグインなら探してインストールすればよい。

他にも、次のような方法も可能(※ php5用なので注意)。

function.phpに書いてしまう

function.phpの上でも下でも途中でも、好きな場所に追記する。

/**
* Inline PHP
*/
function exec_php($a)
{
    try {
        eval('ob_start();'.$a[1].'$r = ob_get_contents();ob_end_clean();');
    } catch (Exception $e) {}
    return $r;
}

function inline_php($content)
{
    return preg_replace_callback('/<exec>((.|\n)*?)<\/exec>/', 'exec_php', $content);
}

add_filter('the_content', 'inline_php', 0);

プラグインとして書くか、テーマファイルの一部として書くかが違うだけで、やっていることは同じです。

次のように、投稿本文に「<exec>」で囲んでphpのコードを書いておくと、実行して、実行結果で置換して出力します。

記事本文。記事本文。記事本文。記事本文。
記事本文。記事本文。記事本文。記事本文。
<exec>
echo 'Today: ' . date('Y-m-d');
</exec>
記事本文。記事本文。記事本文。記事本文。
記事本文。記事本文。記事本文。記事本文。

<exec>で囲む方式の難点は、ビジュアルエディタで編集すると消えてしまうことです。記事の編集のときには注意が必要です。

関連するメモ

コメント(2)

WordPress用Mixiチェックプラグインを、イイネ!・ボイス投稿などに対応させてみる « 夏研ブログ 2011年1月11日 21:17

[…] 本文中の好きな箇所にボタンを設置する 最後に、好きな場所にボタンを設置する方法をご紹介します。 通常、PHPの関数はブログ本文から呼ぶことはできません。 そこで、ブログ本文中でPHPを実行するようにする必要があります。 当ブログでは、【WordPress】投稿の中でphpを実行したい at softelメモの記事の方法を使わせてもらっています。 […]

WordPress記事本文の中でPHPを実行する方法まとめ | 中途半端を極める 2014年10月23日 14:38

[…] 参考サイト:【WordPress】投稿の中でphpを実行したい https://www.softel.co.jp/blogs/tech/archives/2031 […]