web-dev-qa-db-fra.com

Shortcode personnalisé dans le widget forcé en haut du widget

Un shortcode personnalisé que j'ai créé est forcé en haut du widget en dehors du conteneur de widgets. Des idées pourquoi? Ceci est mon code ...

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);
2
agileapricot

Pour les shortcodes, vous devez renvoyer la sortie pour qu'elle soit écrite à l'endroit où le shortcode apparaît.

Transformez votre code HTML en chaîne PHP au lieu de sortir des balises PHP, ou vous pouvez utiliser les méthodes de mise en mémoire tampon de sortie PHP comme suit:

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; 
7
sanchothefat