视频后期格式,额外内容中断视频嵌入

时间:2013-05-28 作者:Desmond

我正在使用content-video.php 包括在我的主页上显示最新的视频帖子。include只显示帖子中的视频,而不显示其余内容,效果很好。

我的问题是,如果我在帖子中的视频链接后添加任何内容(如文本、另一个链接等),它会破坏嵌入在主页上的视频。在实际帖子中,前后的视频和文本显示良好。

这是我的密码content-video.php

<?php if(strlen( get_the_title() ) >0 ): ?>
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php endif; ?>                       
<?php
    $parsedUrl  = parse_url(get_the_content());
    $embed      = $parsedUrl[\'query\'];
    parse_str($embed, $out);
    $embedUrl   = $out[\'v\'];
?>                   
<iframe width="385" height="217" src="http://www.youtube.com/embed/<?php echo $embedUrl; ?>" frameborder="0" allowfullscreen></iframe>
下面是我在主页上包含的循环代码:

    <!--latest video--> 
        <?php
        $args = array(
            \'post_type\' => \'post\', // if the post type is post 
            \'posts_per_page\' => 1,
            \'tax_query\' => array(
            array(
                \'taxonomy\' => \'post_format\',
                \'field\' => \'slug\',
                \'terms\' => \'post-format-video\'
            ))
        );
        $my_query = new WP_Query( $args );
        ?>
        <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <div id="latestVideo">
            <?php get_template_part( \'content\', \'video\' ); ?>
            <a class="more-videos" href="/type/video/">more videos</a>
        </div>
    <?php endwhile; ?>
谁能发现我做错了什么,或者我需要以不同的方式嵌入视频吗?!

谢谢你的帮助。

2 个回复
SO网友:fuxia

如果您不知道内容是什么,请使用正则表达式测试是否有URL。

示例代码:

$content = get_the_content();
$pattern = \'~([^"\\\'])?(https?://.*\\.(flv|aac|mp4|mov|m4a|f4a|ogg|oga|mp3))([^"\\\'\\?])?~i\';

if ( preg_match( $pattern, $content, $matches ) )
{
    $parsedUrl  = parse_url( $matches[ 0 ] );
    // create the vidoe markup
}
else
{
    // echo $content or something else
}

SO网友:melves901

嗨,这可能是你问题的解决方案。而不是放置:

<?php echo $embedUrl; ?>
这样说:

<?php echo substr($embedUrl, 0, 11); ?>
它将只回显视频帖子内容中提取的Youtube链接的v=后的11个字符的代码。我已经亲自测试过了,并提供了此解决方案。希望这有帮助!

结束

相关推荐

force login loophole

我想限制对WordPress网站的访问,只允许注册用户访问。我尝试了以下插件:它们都有相同的问题:在看到登录页面后,您可以轻松地在浏览器地址栏中重新键入URL,以绕过登录屏幕,直接访问主页,而无需登录。只有主页可以通过这种方式访问。单击任何菜单,将返回登录屏幕。我怀疑我的网站有问题,而不是插件有问题。我有以下活动插件:高级自定义字段Akismet分析360自定义帖子模板登录重定向选择问题(&L);A-WordPress问答插件原始HTML Relevanssi版本控制快速类型搜索(Swiftype Sea