Тег плагина WordPress не анализируется в блоке <script> - PullRequest
0 голосов
/ 19 декабря 2009

Я использую следующий код в одном из моих файлов плагинов 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 ]

1 голос
/ 20 декабря 2009

Вы не можете ожидать, что PHP заменит [kml_flashembed movie="$img" /], если вы поместите его в блок heredoc

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;}
0 голосов
/ 19 декабря 2009

Попробуйте использовать функцию do_shortcode для расширения шорткода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...