WordPress ショートコードのエッセンス

投稿/固定ページに記述する内容

  • 「自己完結型ショートコード」と「囲み型ショートコード」の2種類がある
  • 「自己完結型ショートコード」の例
[my-shortcode foo="bar" baz="bing"]
  • 「囲み型ショートコード」の例
[my-shortcode]content[/my-shortcode] 

functions.phpに記述する内容

  • ショートコードハンドラ(推奨コードイディオム) を以下に示す。
function my_shortcode_handler( $atts, $content = null ) {
   extract( shortcode_atts( array(
      'attr_1' => 'attribute 1 default',
      'attr_2' => 'attribute 2 default',
      // ...etc
      ), $atts ) );
}

ショートコードAPIのエッセンス

  • shortcode_atts( $defaults_array, $atts );

両方のパラメータが必須です。 $defaults_array は、認識される属性名とそのデフォルト値を指定する連想配列です。$atts は、ショートコードハンドラに渡される生の属性配列です。shortcode_atts() は、$defaults_array のキーを全て含み、$atts 配列からの値が存在すればその値を付与された正規化された配列を返します。

参考資料

WordPress Codex 日本語版

コメント