我在我的一个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插件。)
答案 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
功能扩展短代码。