视频短码和视频海报问题

时间:2017-07-03 作者:Van

对WP完全陌生,需要WP视频短代码的帮助。我在我的网页上找到了我的视频,找到了合适的大小,让它播放,播放结束后它会重置到开始。我的问题是,播放后,我希望它重置为页面首次加载时打开的“视频海报”。有人知道我怎样才能做到这一点吗?(请用初学者的术语解释,因为我对WP或编写代码或放置代码几乎一无所知……再一次,完全是初学者,所以请告诉我全部细节,好像我很笨!谢谢!)

1 个回复
SO网友:Junaid

没有直接的方法可以做到这一点,但我们可以通过一个小的JS片段来实现这一点。您可以在页脚中添加以下JS片段,使其适用于内容中的所有视频。

var videos = document.getElementsByTagName(\'video\');
for (var i = 0; i < videos.length; i++) {
    videos[i].addEventListener(\'ended\', function(e) {
        e.target.load();
    });
}
这段代码做什么上述代码段寄存器ended 事件,并在视频结束时加载视频。

为了使其更加无缝,我们可以过滤the_content 如果有的话[video][/video] 如果使用了shortcode,则应包含此代码,否则不包含。

将以下代码添加到functions.php 或在自定义插件中:

function ja_video_shortcode_check( $content ) {

    if ( has_shortcode( $content, \'video\' ) ) {
        add_action( \'wp_footer\', function(){
            echo "<script>
                    var videos = document.getElementsByTagName(\'video\');
                    for (var i = 0; i < videos.length; i++) {
                        videos[i].addEventListener(\'ended\', function(e) {
                            e.target.load();
                        });
                    }
                </script>";
        } );
    }

    return $content;
}
add_filter( \'the_content\', \'ja_video_shortcode_check\' );
在fresh WP实例中使用2017主题进行测试,没有激活插件。

要在小部件中添加此代码,请添加Text 小部件,切换到Text 查看并粘贴以下代码:

<script>
   var videos = document.getElementsByTagName(\'video\');
    for (var i = 0; i < videos.length; i++) {
        videos[i].addEventListener(\'ended\', function(e) {
            e.target.load();
        });
    }
</script>

结束

相关推荐

Onepage with shortcodes

我构建了一个单页wordpress主题,为了在一个页面中显示我的所有页面,我使用了一个循环,但短代码不起作用(例如:联系表单7:表单正在显示但根本不起作用)。这是我的代码: <?php /* Template Name: Pulse one page */ $this_page = $post->ID; ge