我目前正在尝试编写自己的短代码,以便在我的WordPress网站上使用YouTube API。我的代码也有效,但只能使用短代码的默认属性。我的代码忽略了通过shortcode self附加的属性。
任何人都可以帮助我吗?我google了很多,但我没有找到这样的东西。我想我做了所有类似于codex的方式,但也许你知道的更多。 这是我的代码:
function api_youtube_integration($atts, $content = null) {
$a = shortcode_atts(array(
'class' => '',
'videoCount' => 5,
'bottomBar' => true
), $atts);
ob_start();
?>
<div data-video="<?php echo esc_html($a['videoCount']); ?>">Test</div>
<?php
return ob_get_clean();
}
add_shortcode('youtubeAPI', 'api_youtube_integration');
我的短代码:[youtubeAPI videoCount = 12] 代码只返回5作为videCount而不是12 ...
最诚挚的问候Lukas
答案 0 :(得分:0)
因此,显然传递给shortcode_atts()
的属性总是转换为小写。 Official docs:
属性名称在传递到处理函数之前始终会转换为小写。值不受影响。 [myshortcode FOO =&#34; BAR&#34;]产生$ atts = array(&#39; foo&#39; =&gt;&#39; BAR&#39;)。
因此,您需要确保所有选项都是小写的,或者使用下划线来分隔单词。