WordPress插件标记未在<script>块</script>中解析

时间:2009-12-19 17:45:39

标签: javascript jquery wordpress parsing tags

我在我的一个WordPress插件文件中使用以下代码:

else if($filetype == 'swf'){
print
<<<EOT
<script type="text/javascript" language="javascript">
jQuery(document).ready(function(){
var embed = '<div>[kml_flashembed movie="$img" /]</div>';
jQuery("#header").prepend(jQuery(embed));
});
</script>
<style type="text/css">
#$headerID {
background: none;   
}
.flashmovie {
position: absolute;
}
</style>
EOT;}

但是不是解析[kml_flashembed]块,而是按原样吐出来。我手动将它放在我的header.php文件中并在那里呈现正常,因此问题在于JavaScript将其注入HTML中的方式。

有人可以解释一下我应该改变什么以使标签解析而不是逐字渲染吗?

(标签用于WordPress Kimili Flashembed插件。)

2 个答案:

答案 0 :(得分:1)

如果将PHP放在heredoc块中,你不能指望PHP替换[kml_flashembed movie="$img" /]

else if($filetype == 'swf'){
print <<<EOT
<script type="text/javascript" language="javascript">
jQuery(document).ready(function(){
var embed = '<div>
EOT;
[kml_flashembed movie="$img" /]
print <<<EOT2
</div>';
jQuery("#header").prepend(jQuery(embed));
});
</script>
<style type="text/css">
#$headerID {
background: none;   
}
.flashmovie {
position: absolute;
}
</style>
EOT2;}

答案 1 :(得分:0)

尝试使用do_shortcode功能扩展短代码。