私は動的に投稿で使用されるショートコードに属性を追加しようとしています。たとえば、次のように始めるとします。
[shortcode-name]
ショートコードに "attribute = xxx"の部分を追加したいので、効果的にはこうなります。
[shortcode-name attribute=xxx]
投稿の中で遭遇した最初のショートコードだけのために。これは可能ですか?
ありがとうございます。
テストされていません(そして今すぐテストすることはできません)が、フィルタを使って属性を追加できるべきです。
function test_sc($atts,$content) {
// echo 'test_sc';
$atts = shortcode_atts(
array(
'foo' => 'no foo',
'bar' => 'default bar',
),
$atts,
'testsc'
);
// var_dump($atts);
}
add_shortcode('testsc','test_sc');
function test_shortcode_att_add($atts) {
# this filter should only run once (first use on page)
remove_filter('shortcode_atts_testsc','test_shortcode_att_add');
$atts['xxx'] = 'yyy';
return $atts;
}
add_filter('shortcode_atts_testsc','test_shortcode_att_add');
もちろん、あなたが何を追加しようとしているのか、それがどのようなサポートコードに依存しているのか、正確にはわかりません。