WordPressのウィジェットでPHPコードを実行する方法

WordPressのウィジェットでPHPコードを実行する方法を解説します。

ウィジェットでPHPコードを実行するには、プラグインを使用する方法とfunctions.phpファイルを編集する方法の2種類があります。

それぞれについて方法を解説していますので、目的に合わせて方法を選択してください。

WordPressのウィジェットでPHPコードを実行する方法

ここではWordPressのウィジェットでPHPコードを実行する方法を解説します。

ウィジェットでPHPコードを実行する方法は、プラグインを「使用するか」「使用しないか」2つの選択肢があります。

それぞれについて解説を行っていきます。

チェック
プログラムの知識があまりないWordPress初心者の方は、プラグインを使用する方法をおすすめします。

プラグインを使用してPHPコードを実行する方法

ウィジェットでPHPコードを実行できるようにするプラグインには、次のプラグインがあります。

ここでは簡単にプラグインの使い方を解説します。

PHP Code Widgetの使い方

PHP Code Widgetの使い方は次のようなものになります。

  1. ウィジェットメニューを開く
  2. ウィジェットエリアにPHP Code Widgetのウィジェットを追加
  3. ウィジェットにPHPコードを記述
  4. 保存

プラグインなしでPHPコードを実行する方法

プラグインなしでウィジェットでPHPコードを実行するには、まず次のコードをfunctions.phpファイルに記載をしましょう。

function widget_text_exec_php( $widget_text ) {
    if( strpos( $widget_text, '<' . '?' ) !== false ) {
        ob_start();
        eval( '?>' . $widget_text );
        $widget_text = ob_get_contents();
        ob_end_clean();
    }
    return $widget_text;
}
add_filter( 'widget_text', 'widget_text_exec_php', 99 );

あとはテキストウィジェットに実行したいPHPコードを記述してください。

テキストウィジェットにPHPコードを記述
テキストウィジェットにPHPコードを記述

これでウィジェットでPHPコードの実行ができるようになります。

参考ページ:How to Run PHP Codes in WordPress Text Widget

カスタムHTMLウィジェットではPHPコードの記述ができない

WordPressには、テキストを記述できるウィジェトとしてテキストウィジェットの他にカスタムHTMLウィジェットが存在します。

そのため、テキストウィジェットではなく、カスタムHTMLウィジェットでPHPコードの実行ができないのかと考える方がいるはずです。

しかし、カスタムHTMLウィジェットでは、HTMLタグではない「」は、エスケープしないと保存することができません。

保存ができない
保存ができない

それでは、注意にあるようにエスケープをして、保存できるようにしてみましょう。

&lt;?php echo 'test'; ?&gt;

しかし、これはテキストとして、次のようにそのまま出力されるだけで、PHPコードを実行することはできません。

テキストとして出力される
テキストとして出力される

そのため、ウィジェットでPHPコードを実行したい場合は、テキストウィジェットを使用する必要があります。

よかったらシェアしてね!
  • URLをコピーしました!