do_shortcode() の使い方|説明・引数・注意点

説明

do_shortcode() は、文字列中のショートコードを実行して置き換える関数です。

基本構文

do_shortcode( string $content, bool $ignore_html = false ): string

引数

  • $content:ショートコードを含む文字列
  • $ignore_html:HTMLタグ内のショートコードを無視するか

戻り値

展開後の文字列。

使い方(サンプル)

echo do_shortcode( '[hello name="Taro"]' );

注意点

  • テンプレートの中でショートコードを実行したいときに使います。

実務での使いどころ

  • PHPのテンプレートから、ショートコードを、呼び出すとき。
  • ウィジェットや、独自のフィールドの文字列の中の、ショートコードを、展開するとき。

よくあるミスと対処

  • the_content で出力する本文には、すでに、ショートコードが展開される。二重に呼ぶ必要はない。
  • ユーザーが入力した、信頼できない文字列に、使っている。任意のショートコードが、実行される。
  • 結果を、エスケープせずに、出力している。ショートコードの結果は、HTMLを含むため、信頼できる内容に限る。

NG例

echo do_shortcode( $_GET['sc'] ); // 入力された、任意のショートコードが実行される

OK例

echo do_shortcode( '[hello name="太郎"]' );

使い分け早見表

関数 役割
do_shortcode() 文字列の中の、ショートコードを、実行する
add_shortcode() ショートコードを、登録する
has_shortcode() 文字列に、ショートコードが含まれるかを確認する

関連項目

add_shortcode()、shortcode_atts()

公式リファレンス:do_shortcode() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました