Echo DO_SHORT代码在主题模板上不起作用

时间:2012-10-23 作者:markyeoj

我不知道是什么导致了这个问题,但是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 个回复
最合适的回答,由SO网友:david 整理而成

According to the developer 对于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"]\');

SO网友:Robert

访问此线程的所有人的更新(2015)

jwplayer_tag_callback() 不再工作,您将收到一个致命错误,告诉您函数未定义。

而是以如下方式以编程方式插入播放机:

echo JWP6_Shortcode::the_content_filter( \'[jwplayer file="\'. $videoUrl .\'"]\' );
(已找到here.)

结束

相关推荐

plugins_url vs plugin_dir_url

我看到WordPress插件在为一些文件夹创建常量时使用plugins\\u url或plugin\\u dir\\u url。一个比另一个好吗?示例:define( \'MEMBERS_URI\', trailingslashit( plugin_dir_url( __FILE__ ) ) ); define( \'WPACCESS_INC\', plugins_url( \'inc\', __FILE__ ) , true );