短码问题...JavaScript

时间:2013-09-14 作者:Joshua

我们想创建一个简短的代码。源代码的最终输出应该与下面提到的代码类似。

<script type="text/javascript" src="http://hosted.musesradioplayer.com/mrp.js"></script>
<script type="text/javascript">
MRP.insert({
\'url\':\'http://streams.museter.com:8002/;\',
\'codec\':\'mp3\',
\'volume\':65,
\'autoplay\':true,
\'buffering\':5,
\'title\':\'Radio%20Vermont\',
\'welcome\':\'WELCOME TO...\',
\'bgcolor\':\'#FFFFFF\',
\'skin\':\'mcclean\',
\'width\':180,
\'height\':60
});
</script>
上面提到的代码,每当我们插入短代码时,url和编解码器变量都会改变。。。

我们尝试使用以下短代码,但它是错误的。。。请帮助我。。。

<?
function playermp3($atts) {
    extract(shortcode_atts(array(
        "value" => \'http://\',
        "width" => \'180\',
        "height" => \'60\',
        "codec"=> \'mp3\',
        "volume" => \'65\',
        "autoplay"=>\'true\',
        "buffering"=> \'5\',
        "title"=> \'Radio%20Vermont\',
        "welcome" => \'WELCOME TO...\',
        "bgcolor"=>\'#FFFFFF\',
        "skin"=> \'mcclean\',
    ), $atts));
    return \'<script type="text/javascript" src="http://hosted.musesradioplayer.com/mrp.js"></script>
<script type="text/javascript">
MRP.insert({
\'url\':\'.$value.\',
\'codec\':\'.$codec.\',
\'volume\':\'.$volume.\',
\'autoplay\':\'.$autoplay.\',
\'buffering\':\'.$buffering.\',
\'title\':\'.$title.\',
\'welcome\':\'.$welcome.\',
\'bgcolor\':\'.$bgcolor.\',
\'skin\':\'.$skin.\',
\'width\':\'.$height.\',
\'height\':\'.$width.\'
});
</script>\';
}
add_shortcode("playermp3", "playermp3");

?>

2 个回复
SO网友:Daniel

WordPress提供了一个名为wp_localize_script. 对于像您这样的情况,该函数是您最好的朋友。这里有很多例子。但我给你留下了一个很好的教程:

http://pippinsplugins.com/use-wp_localize_script-it-is-awesome/

SO网友:Alex Dumitru

用这个换一下你的角色,它应该可以正常工作:

"url":".$value.",
"codec":".$codec.",
"volume":".$volume.",
"autoplay":".$autoplay.",
"buffering":".$buffering.",
"title":".$title.",
"welcome":".$welcome.",
"bgcolor":".$bgcolor.",
"skin":".$skin.",
"width":".$height.",
"height":".$width."
如果使用撇号返回,请确保对其中的数据使用引号。或者你可以做相反的事情。

结束

相关推荐

如何覆盖Shortcodes.php核心文件?

我想覆盖/更新核心短代码。php文件。构建一个数组并向其他函数发送不同的数据,但我的问题是如何在不编辑核心文件的情况下做到这一点?是否有覆盖核心文件和/或函数的最佳做法?