web-dev-qa-db-ja.com

echo do_shortcodeはテーマのテンプレートに取り組んでいません

問題の原因はわかりませんが、echo do_shortcodeはテーマのテンプレートでは機能しませんが、プラグインのテンプレートで機能し、ショートコードは投稿やページで機能します。かなり変です。これがコードです

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

私はJWプレーヤープラグインを使用しています。ここでも、ショートコードはプラグインのテンプレートと投稿/ページに取り組んでいます。しかし、私のテーマのテンプレートではうまくいきません。ここで私を助けてください。ありがとう

2
markyeoj

jwPlayerの開発者 によると、 '。'をサポートするにはプラグインをフィルタとして実装する必要がありました。タグ属性内。したがってdo_shortcode(..)は機能しませんが、jwplayer_tag_callback(..)は望みの結果を返します。

あなたの例と一致することは単に実行します:

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

このスレッドを訪れた人のために更新してください(2015)

jwplayer_tag_callback()は動作しなくなり、関数が定義されていないという致命的なエラーが発生します。

代わりに、次のようにプログラム的にプレーヤーを挿入してください。

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

(見つかった ここ

1
Robert