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

通常WordPressのウィジェットにPHPコードを記述しても実行しませんが、PHPプログラムを動かしたい場合もあると思います。

ウィジェットでPHPを使う方法として、下記の3つが考えられます。

  • プラグインを使う
  • プラグインを使わない
  • ショートコード化する

プラグインを使うのが手っ取り早いのですが、なるべくプラグインを増やしたくないと思うこともありますよね。

またショートコード化は、ショートコードについての知識がなければむずかしいので、初心者向けではありません。

ということで、本記事ではプラグインを使わずにウィジェットでPHPコードを使う方法を紹介します。

目次

プラグインなしでWordPressのウィジェットでPHPを動かす方法

STEP1

下記の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 );

functions.phpファイルはとてもデリケートなので直接編集せず、Code Snippets などのプラグインを使うのがおすすめです。

STEP2

あとは「テキスト」ウィジェットの「テキスト」タブに任意のPHPコードを記述すればOKです。

「ビジュアル」タブだと特殊文字がエスケープされてしまい、プログラムは動きませんのでご注意ください。


よかったらシェアしてね!
目次