0

我目前正在尝试编写自己的简码以在我的 WordPress 网站上使用 YouTube API。我的代码也适用,但仅适用于短代码的默认属性。我的代码忽略了通过简码 self 附加的属性。

谁能帮我?我用谷歌搜索了很多,但我没有找到这样的东西。我想我所做的一切都像抄本的方式,但也许你知道更多。这是我的代码:

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 作为 videoCount 而不是 12...

最好的问候卢卡斯

4

1 回答 1

0

所以显然传递给shortcode_atts()的属性总是转换为小写。官方文档:

属性名称在传递到处理函数之前总是转换为小写。价值观不受影响。[myshortcode FOO="BAR"] 产生 $atts = array( 'foo' => 'BAR' )。

因此,您要么需要确保所有选项都是小写的,要么使用下划线分隔单词。

于 2018-03-19T14:12:07.180 回答