视频短码和媒体片段URI

时间:2018-12-01 作者:Yehia A.Salam

Wordpress视频短代码似乎不支持媒体片段URI(例如,为视频src追加#t=10),因此类似的操作不起作用:

[video width="854" height="480" src="https://www.domain.com/wp-content/uploads/2018/07/5898ca6e5276e4cd97c0bd730a2ed82c11780595-480p__80044.mp4#t=18" preload="metadata"][/video]
因为在视频末尾添加#t=18会混淆视频标记以识别它是视频。除了使用传统的html视频标记之外,我如何解决这个问题?是否有一个补丁用于wp\\u video\\u shortcode功能,或者任何其他解决方法?

专门更新此行中的#1

问题wp-includes/media.php 线2498 将视频作为锚定链接输出:

    $type = wp_check_filetype( $atts[\'src\'], wp_get_mime_types() );
    if ( ! in_array( strtolower( $type[\'ext\'] ), $default_types ) ) {
        return sprintf( \'<a class="wp-embedded-video" href="%s">%s</a>\', esc_url( $atts[\'src\'] ), esc_html( $atts[\'src\'] ) );
    }

1 个回复
SO网友:Null TX

尝试像这样嵌入视频:

<video controls>
  <source src="https://www.domain.com/wp-content/uploads/2018/07/5898ca6e5276e4cd97c0bd730a2ed82c11780595-480p__80044.mp4#t=18" type="video/mp4" />
</video>
将其粘贴到编辑器中,但确保在右上角将其设置为“文本”而不是“视觉”。当你切换回“视觉”时,你只会看到空白的灰色框架。预览帖子,你会看到嵌入了开始时间的视频。

请注意控制标签,如果删除该标签,视频将不会加载,它只会显示一个屏幕截图。因此,您所做的基本上就是编写自己的html嵌入代码。

您还可以向视频中添加其他标记,如宽度/高度、自动播放等。

希望这有帮助!

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗