MENU

【WordPress】PHPからショートコードを実行する方法を解説

functions.phpの編集やテーマの自作などで、PHPコードからショートコードを実行したいときがあるでしょう。

以下のようなプログラムを書いてみたけど、うまくいかない人もいるはずです。

add_filter('the_content', function($content){
	$add_code = '[sample_sc]'; //有効なショートコード

	//[sample_sc]がそのまま出力される
	return $add_code . $content;
});

今回は、PHPからショートコードを実行する方法を解説していきます。

目次から探す

PHPからショートコードを実行する方法

実は難しいことは何もありません。

ショートコードを実行したい場合は、ショートコードを含んだ文字列をdo_shortcode関数に渡すだけです。

do_shortcode('[ショートコードの文字列]');

ショートコードの形式になっている文字列の部分だけショートコードを展開するため、"テキストテキ[sample_sc]ストテキ[sample_sc]"のように、前後にほかの文字列が混ざっていたり、複数のショートコードが一つの文字列内に含まれていても大丈夫です。

存在しないショートコードは自動的に削除されます。

実際に、do_shortcode関数を使う場合は以下のように記述します。

add_filter('the_content', function($content){
	//有効なショートコード
	$add_code = '[sample_sc]';
	$shortcode = do_shortcode($add_code);

	return $shortcode . $content;
});

上記サンプルでは、使用中のテーマ・プラグインに[sample_sc]というショートコードがあった場合、ショートコードが展開されて[sample_sc]の中身が出力されます。

PHPでショートコードを実行するときはdo_shortcode関数に渡すことを覚えておくといいでしょう。

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