it-swarm.com.de

echo do_shortcode funktioniert nicht in der Vorlage des Themas

Ich weiß nicht, was das Problem verursacht, aber der echo do_shortcode funktioniert nicht auf der Vorlage meines Themas, sondern auf der Vorlage meines Plugins, und der Shortcode funktioniert auf meinen Posts und Seiten. Ziemlich komisch. Hier ist der Code

<?php 
$my_query = new WP_Query('category_name=video post&posts_per_page=10');
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; 
?>

    <li>
    <h3><a href = "<?php the_permalink();?>"><?php the_title();?></a></h3>
    <?php the_post_thumbnail(); ?>                          
    <p> 
    <?php the_excerpt();?>
    <?php                                       
    $urlbox = get_video_box();

    echo $urlbox[0]; // echo out the url of a post                     
    echo $urlbox[1]; // echo out the url description of a post
    echo do_shortcode('[jwplayer config="Out-of-the-Box" file="' . $urlbox[0] . '" image="http://www.mywebsite.com/myimage.jpg"]');
    ?>          

    </p>
    </li>

<?php endwhile; ?>  

Ich benutze das JW-Player-Plugin. Wieder funktioniert der Shortcode auf der Vorlage und dem Beitrag/der Seite des Plugins. Aber auf der Vorlage meines Themas funktioniert es nicht. Bitte hilf mir hier. Vielen Dank

2
markyeoj

Nach Angaben des Entwicklers des jwPlayer war es notwendig, das Plugin als Filter zu implementieren, um '.' Unterstützen zu können. in Tag-Attributen. Daher funktioniert do_shortcode(..) nicht, aber jwplayer_tag_callback(..) gibt das gewünschte Ergebnis zurück.

Passend zu Ihrem Beispiel führen Sie einfach aus:

echo jwplayer_tag_callback('[jwplayer config="Out-of-the-Box" file="' . $urlbox[0] . '" image="http://www.mywebsite.com/myimage.jpg"]');
0
david

Update für alle Besucher dieses Themas (2015)

jwplayer_tag_callback() funktioniert nicht mehr. Es wird ein schwerwiegender Fehler angezeigt, der besagt, dass die Funktion nicht definiert ist.

Fügen Sie stattdessen einen Player programmatisch wie folgt ein:

echo JWP6_Shortcode::the_content_filter( '[jwplayer file="'. $videoUrl .'"]' );

(Gefunden hier .)

1
Robert