WordPress 简码只接受默认属性
WordPress shortcode only accepts default attributes
我目前正在尝试编写自己的短代码以在我的 WordPress 网站上使用 YouTube API。我的代码也适用,但仅适用于短代码的默认属性。我的代码忽略了通过短代码自身附加的属性。
谁能帮帮我?我在谷歌上搜索了很多,但我没有找到这样的东西。我想我做的一切都像法典的方式,但也许你知道的更多。
这是我的代码:
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]
代码只有 returns 5 作为 videCount 而不是 12...
最好的问候卢卡斯
显然传递给 shortcode_atts()
的属性总是转换为小写。 Official docs:
Attribute names are always converted to lowercase before they are passed into the handler function. Values are untouched. [myshortcode FOO="BAR"] produces $atts = array( 'foo' => 'BAR' ).
因此您要么需要确保所有选项都是小写,要么使用下划线分隔单词。
我目前正在尝试编写自己的短代码以在我的 WordPress 网站上使用 YouTube API。我的代码也适用,但仅适用于短代码的默认属性。我的代码忽略了通过短代码自身附加的属性。
谁能帮帮我?我在谷歌上搜索了很多,但我没有找到这样的东西。我想我做的一切都像法典的方式,但也许你知道的更多。 这是我的代码:
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] 代码只有 returns 5 作为 videCount 而不是 12...
最好的问候卢卡斯
显然传递给 shortcode_atts()
的属性总是转换为小写。 Official docs:
Attribute names are always converted to lowercase before they are passed into the handler function. Values are untouched. [myshortcode FOO="BAR"] produces $atts = array( 'foo' => 'BAR' ).
因此您要么需要确保所有选项都是小写,要么使用下划线分隔单词。