WordPress.org

Make WordPress Core

Ticket #29267: 29267.diff

File 29267.diff, 1.2 KB (added by Tmeister, 7 years ago)
  • src/wp-includes/media.php

    diff --git src/wp-includes/media.php src/wp-includes/media.php
    index 974aa79..ec98c3b 100644
    function wp_video_shortcode( $attr, $content = '' ) { 
    17121712        }
    17131713
    17141714        $yt_pattern = '#^https?://(:?www\.)?(:?youtube\.com/watch|youtu\.be/)#';
     1715        $vimeo_pattern = '#/vimeo\.com\/[0-9]#';
    17151716
    17161717        $primary = false;
    17171718        if ( ! empty( $src ) ) {
    1718                 if ( ! preg_match( $yt_pattern, $src ) ) {
     1719                if ( ! preg_match( $yt_pattern, $src ) && ! preg_match( $vimeo_pattern, $src ) ) {
    17191720                        $type = wp_check_filetype( $src, wp_get_mime_types() );
    17201721                        if ( ! in_array( strtolower( $type['ext'] ), $default_types ) ) {
    17211722                                return sprintf( '<a class="wp-embedded-video" href="%s">%s</a>', esc_url( $src ), esc_html( $src ) );
    function wp_video_shortcode( $attr, $content = '' ) { 
    18021803
    18031804                        if ( 'src' === $fallback && preg_match( $yt_pattern, $src ) ) {
    18041805                                $type = array( 'type' => 'video/youtube' );
     1806                        } else if ('src' === $fallback && preg_match( $vimeo_pattern, $src ) ) {
     1807                                $type = array( 'type' => 'video/vimeo' );
    18051808                        } else {
    18061809                                $type = wp_check_filetype( $$fallback, wp_get_mime_types() );
    18071810                        }