質問: '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);
回答: ショートコードの場合は、ショートコードが表示されている場所に書き出されるように、出力をreturnする必要があります。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;