如何检测自定义字段是否包含 wordpress 中的 mp4 文件?

How to dedect if custom field contains a mp4 file in wordpress?

$video = get_post_meta($post->ID,'video_url', true); //default custom field

上面是名为 video_url 的自定义字段,但它并不总是视频格式,所以我想先检测它是否是视频格式,我使用以下代码:

$mimetypes = array('video/mov', 'video/flv', 'video/avi', 'video/avi', 'application/ogg', 'video/webm', 'video/mp4');

if (!empty($video) && in_array($video, $mimetypes) ) {
        echo do_shortcode( $shortcode );
  }

短代码将在 html 5 视频 player.So 中播放它,当我删除 && in_array($video, $mimetypes) 它播放正常但我想先检测它是否是 mp4。

是否可以在 wordpress 中实现? 谢谢。

尝试使用 strpos() 或其他 php 字符串搜索功能。 in_array() 不正确,因为,例如,您的 $video 看起来像这样:

www.site.com/videos/video.mp4

而你$mimetypes数组里面没有这个字符串

之后,你的代码将是这样的:

if (!empty($video) && strpos($video, 'mp4') !== false ) {
        echo do_shortcode( $shortcode );
  }