WordPress 视频短代码:完整指南与实战用法
WordPress 内置的视频短代码,是目前在经典主题中使用直接、干净的方式,在WordPress 3.6之后就已经加入核心。它的好处在于不需要任何插件,只要主题支持,就可以在文章、页面甚至模板文件中直接调用。使用方式是一个短代码标签 ,配合不同的参数控制播放器行为——这和你写 HTML 的 <video> 标签逻辑很像,只是语法更简洁,更适合在 WordPress 内容中使用。
它能帮助你做到:在网页中嵌入 mp4、webm、ogv 等格式的视频文件,设置自动播放、循环播放,以及控制尺寸和封面图。对于主题开发者来说,它更重要的价值在于可以通过 do_shortcode() 函数在模板中调用,实现更灵活的视频输出方案。
认识视频短代码的基本调用方式
一个基础的视频短代码写法如下:
text
如果视频存放在主题目录下的 videos/ 文件夹里,就需要用 PHP 拼接出完整路径,再通过 do_shortcode() 函数输出:
php
$video_file = get_template_directory_uri() . "/videos/pepper.mp4"; echo do_shortcode( '' );
这里有两个细节需要注意:
get_template_directory_uri() 获取的是当前主题的目录 URL。如果你的视频放在子主题中,可以用 get_stylesheet_uri() 来替代。
短代码里可以直接写 mp4= 来指定文件格式,也可以统一使用 src=。如果视频格式比较多,建议用 mp4=、webm= 分别指定不同格式文件,这样浏览器能根据自身支持情况选择播放。
循环播放与自动播放
这两个参数用来控制播放器的行为,可以直接加到短代码中。
text
autoplay 在移动端设备上可能不会生效,这是为了节省用户的流量。loop 属性会让视频结束后重新开始,适合背景视频或展示循环内容的场景。
如果希望用户进入页面时视频自动播放,并且持续循环,下面这个写法比较典型:
php
echo do_shortcode( '' );
封面图(Poster)
poster 属性用来指定视频加载完成前展示的占位图片。它不会影响视频本身的播放,只是提升用户体验,避免播放器区域空白。比如你想在视频播放前显示一张专辑封面,可以这样写:
php
echo do_shortcode( '' );
poster 图片不会随着视频播放而消失,它会一直显示直到用户点击播放按钮。所以如果你的视频是自动播放的,建议把 poster 做得简洁一些,避免视觉上的突兀。
控制宽高
如果不设置宽度(width)和高度(height),WordPress 会自动从视频文件中读取尺寸信息,并用主题的 content_width 限制大宽度。
手动设置尺寸可以这样写:
php
echo do_shortcode( '' );
但多数情况下,视频页面会自适应屏幕宽度。在经典主题里,你可以通过 CSS 统一控制 .wp-video-shortcode 的尺寸,这样就不需要每个短代码都指定宽高。
css
.wp-video-shortcode {
height: 240px;
width: 320px;
}
注意,如果 CSS 里设置的尺寸和视频文件的实际宽高相差太大,可能会出现视频被拉伸或压缩的情况。尽量保持宽高比一致。
在模板文件中使用视频短代码
主题开发中,有时需要直接在一个页面模板里输出视频,而不是依赖用户从后台编辑器添加。这时就需要用到 do_shortcode()。
一个典型的例子是产品展示页,视频地址可以写在主题设置里,或者直接写在模板中:
php
// 假设视频存放在主题的 /videos/ 目录下
$video_url = get_template_directory_uri() . '/videos/intro.mp4';
echo do_shortcode('' . esc_url($video_url) . '');
这里加了 esc_url() 用来转义 URL,保证输出安全。
支持的视频格式
WordPress 视频短代码支持以下格式:
- mp4 / m4v – 主流的格式,兼容性好
- webm – 开源格式,在 Chrome、Firefox 中表现不错
- ogv – 老牌开源格式,目前使用较少
- wmv 和 flv – 主要用于兼容旧版 Windows 或 Flash 环境
实际项目中,通常会优先准备 mp4 格式,因为它的兼容性覆盖率高。如果对浏览器兼容性要求非常严格,可以同时提供 mp4 和 webm 两个版本,浏览器会自行选择。
总结
WordPress 视频短代码提供了一种干净、无需插件的方式在网站中添加视频内容。它的核心用法可以用三句话概括:
在文章或页面编辑器中,直接用 视频地址 就能插入播放器。在主题模板文件中,通过 do_shortcode() 函数可以动态生成播放器代码,视频地址用 get_template_directory_uri() 拼接。
常用参数有 autoplay 控制自动播放,loop 控制循环,poster 设置封面图,width 和 height 控制尺寸。如果需要对所有视频播放器统一样式,可以通过 CSS 修改 .wp-video-shortcode 类。
格式上,优先准备 mp4 文件基本够用,追求兼容可以补充 webm。
如果还想进一步了解视频短代码背后的实现细节,可以参考 WordPress 官方核心开发博客上的介绍