関数へ値を渡す

ショートコードから関数への値の渡し方。extract(shortcode_atts(array(‘a’ => ‘Apple’,’bbb’ => ‘Orange’,), $atts));

    function sample_callback($atts) {
      extract(shortcode_atts(array(
        'aaa' => 'Apple',
        'bbb' => 'Orange',
      ), $atts));
      $output = '<p>'. $aaa . ', ' . $bbb . '!</p>';
      return $output;
    }
    add_shortcode('sample', 'sample_callback');
  • array(‘aaa’ => ‘Apple’,’bbb’ => ‘Orange’,)
    • 変数 aaa, bbb を初期値 ’aaa’ => ‘Apple’、 ’bbb’ => ‘Orange’ として定義
  • shortcode_atts($def, $atts)
    • $def: ショートコードで使用するデフォルト値を指定した連想配列
    • $atts: 関数に渡すユーザーからの配列
  • extract(array &$array)
    • $array内の変数を関数内の変数に変換する。(関数内で使える様にする)

ショートコードからの値の引き渡し、

  • [sample]
    • 引数が省略されたので、デフォルトの ‘aaa’ => ‘Apple’ ’bbb’ => ‘Orange’
  • [sample aaa=”Banana”]
    • ‘aaa’ => ‘Banana’ ’bbb’ => ‘Orange’
  • [sample aaa=”Banana” bbb=”Grape”]
    • ‘aaa’ => ‘Banana’ ’bbb’ => ‘Grape’