Пользовательский короткий код в виджетах, запущенных в верхней части виджета

Пользовательский короткий код, который я сделал, принуждается к вершине виджета вне контейнера виджетов. Любые идеи почему? Это мой код …

function nktmediaplayer_func($atts) { extract(shortcode_atts(array( 'id' => rand(1, 900), 'language' => 'en', 'playlist' => 'no', 'media' => '3381', 'height' => '480', 'width' => '640', 'style' => 'single' ), $atts)); ?> <div id="player_<?php echo $id; ?>" class="video_player"><a href="http://www.adobe.com/products/flashplayer/">Get the Flash Player</a> to see this player.</div> <script type="text/javascript" src="http://kadampa.org/embed/apps/jwplayer.js"></script> <script type="text/javascript"> jwplayer("player_<?php echo $id; ?>").setup({ flashplayer: "http://kadampa.org/embed/apps/player.swf", playlistfile: "http://kadampa.org/<?php echo $language; ?>/api/video/<?php if ( 'playlist' == 'yes' ) echo 'playlist/'; ?><?php echo $media; ?>/desc", height: "<?php echo $height; ?>", width: "<?php echo $width; ?>", config: "http://kadampa.org/embed/config/<?php echo $style; ?>.xml" }); </script> <?php } add_shortcode('nkt_mediaplayer', 'nktmediaplayer_func', 10); 

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

Либо превратите свой HTML в строку PHP, а не выйдете из тегов PHP, или вы можете использовать методы буферизации вывода PHP, например:

 ob_start(); ?> <div id="player_<?php echo $id; ?>" class="video_player"><a href="http://www.adobe.com/products/flashplayer/">Get the Flash Player</a> to see this player.</div> <script type="text/javascript" src="http://kadampa.org/embed/apps/jwplayer.js"></script> <script type="text/javascript"> jwplayer("player_<?php echo $id; ?>").setup({ flashplayer: "http://kadampa.org/embed/apps/player.swf", playlistfile: "http://kadampa.org/<?php echo $language; ?>/api/video/<?php if ( 'playlist' == 'yes' ) echo 'playlist/'; ?><?php echo $media; ?>/desc", height: "<?php echo $height; ?>", width: "<?php echo $width; ?>", config: "http://kadampa.org/embed/config/<?php echo $style; ?>.xml" }); </script> <?php $output = ob_get_contents(); ob_end_clean(); return $output;