コーデックスは言う
shortcode_atts()
は、ユーザーのショートコード属性と既知の属性を組み合わせ、必要に応じてデフォルトを埋めます。結果には、ショートコード属性の値とマージされた、既知の属性のすべてのキーが含まれます。
私にはあまり意味がありません(私は初心者です)。
これが一例です。
function wps_trend($atts) {
extract( shortcode_atts( array(
'w' => '500',
'h' => '330',
'q' => '',
'geo' => 'US',
), $atts));
$h = (int) $h;
$w = (int) $w;
$q = esc_attr($geo);
ob_start();
説明してください。
shortcode_atts()
は array_merge()
のように動作します。これは、2番目の引数リストを最初の引数リストにマージします。違いは次のとおりです。最初の引数($default
)にあるキーのみをマージします。
extract()
は配列のキーを取り、それらを変数名として設定し、それらの値を変数値として設定します。あなたの例の'w' => '500'
は$w = '500'
になります。
extract()
を使用しないでください。これは非常に悪いコードスタイルです。その使用法は コアでさえ非推奨 であり、それは何かを意味します…:)
あなたの例は次のように書くべきです:
$args = shortcode_atts(
array(
'w' => '500',
'h' => '330',
'q' => '',
'geo' => 'US',
),
$atts
);
$w = (int) $args['w'];
$h = (int) $args['h'];
$q = esc_attr( $args['q'] );