WordPress短代码只接受默认属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WordPress短代码只接受默认属性相关的知识,希望对你有一定的参考价值。

我目前正在尝试编写自己的短代码,以便在我的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 ...

最好的问候卢卡斯

答案

所以显然传递给shortcode_atts()的属性总是转换为小写。 Official docs:

在将属性名称传递到处理函数之前,它们始终会转换为小写。值不受影响。 [myshortcode FOO =“BAR”]产生$ atts = array('foo'=>'BAR')。

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

以上是关于WordPress短代码只接受默认属性的主要内容,如果未能解决你的问题,请参考以下文章

使用WordPress中的某些属性创建短代码

php WordPress短代码只会向注册用户显示内容。

php 使用HTML5 figure&figcaption,microdata和wai-aria属性改进WordPress标题短代码

WordPress - 代码片段插件

WordPress 自定义短代码帮助

如何在 WordPress 短代码中使用 jQuery?