render_block_core_shortcode()


WordPressのrender_block_core_shortcode()関数は、ショートコードブロックをレンダリングするために使用されます。Gutenbergエディタで作成されたショートコードブロックをフロントエンドに表示する際に処理を行います。

構文

render_block_core_shortcode( array $attributes, string $content, WP_Block $block );

引数の説明:

  • $attributes(array)—ショートコードブロックの属性を含む配列
  • $content(string)—ブロックのコンテンツ(通常は空)
  • $block(WP_Block)—ブロックオブジェクトのインスタンス

例1:基本的なショートコードブロックのレンダリング

デフォルトのショートコードブロックを表示します。

echo render_block_core_shortcode( array( 'text' => '[gallery]' ), '', null );

例2:カスタム属性付きショートコード

属性を指定してショートコードをレンダリングします。

echo render_block_core_shortcode( array( 'text' => '[contact-form title="お問い合わせ"]' ), '', null );

例3:動的に生成されたショートコード

変数を使用してショートコードを作成します。

$shortcode = '[recent_posts count="3"]'; echo render_block_core_shortcode( array( 'text' => $shortcode ), '', null );

例4:フィルターフックの使用

レンダリング前にショートコードを変更します。

add_filter( 'render_block_core_shortcode', function( $content, $block ) { return str_replace( '[gallery]', '[gallery columns="4"]', $content ); }, 10, 2 );

例5:条件付きショートコード表示

特定の条件下でのみショートコードを表示します。

if( is_page() ) { echo render_block_core_shortcode( array( 'text' => '[page_content]' ), '', null ); }

例6:複数ショートコードの組み合わせ

複数のショートコードを1つのブロックで使用します。

echo render_block_core_shortcode( array( 'text' => '[section][column][/column][/section]' ), '', null );

例7:ショートコード内のエスケープ処理

特殊文字を含むショートコードを安全に表示します。

echo render_block_core_shortcode( array( 'text' => esc_attr( '[custom_code param="<script>"]' ) ), '', null );

注意点

  • ショートコード内で使用されるPHPコードは実行されません
  • 不正なショートコードはそのまま出力される可能性があります
  • セキュリティのため、ユーザー入力を含むショートコードは適切にサニタイズしてください

関連機能: