問題の原因はわかりませんが、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プレーヤープラグインを使用しています。ここでも、ショートコードはプラグインのテンプレートと投稿/ページに取り組んでいます。しかし、私のテーマのテンプレートではうまくいきません。ここで私を助けてください。ありがとう
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"]');
jwplayer_tag_callback()
は動作しなくなり、関数が定義されていないという致命的なエラーが発生します。
代わりに、次のようにプログラム的にプレーヤーを挿入してください。
echo JWP6_Shortcode::the_content_filter( '[jwplayer file="'. $videoUrl .'"]' );
(見つかった ここ )