diff --git a/wp-includes/media.php b/wp-includes/media.php index a7239297ab..76cc0c11c9 100644 --- a/wp-includes/media.php +++ b/wp-includes/media.php @@ -2556,7 +2556,11 @@ function wp_video_shortcode( $attr, $content = '' ) { } elseif ( $is_vimeo ) { // Remove all query arguments and force SSL - see #40866. $parsed_vimeo_url = wp_parse_url( $atts['src'] ); - $atts['src'] = 'https://' . $parsed_vimeo_url['host'] . $parsed_vimeo_url['path']; + $vimeo_src = 'https://' . $parsed_vimeo_url['host'] . $parsed_vimeo_url['path']; + + // Add loop param for mejs bug - see #40977, not needed after #39686. + $loop = $atts['loop'] ? '1' : '0'; + $atts['src'] = add_query_arg( 'loop', $loop, $vimeo_src ); } } diff --git a/wp-includes/widgets/class-wp-widget-media-video.php b/wp-includes/widgets/class-wp-widget-media-video.php index dd90bfac6b..f05928f636 100644 --- a/wp-includes/widgets/class-wp-widget-media-video.php +++ b/wp-includes/widgets/class-wp-widget-media-video.php @@ -115,13 +115,9 @@ class WP_Widget_Media_Video extends WP_Widget_Media { $attachment = get_post( $instance['attachment_id'] ); } + $src = $instance['url']; if ( $attachment ) { $src = wp_get_attachment_url( $attachment->ID ); - } else { - - // Manually add the loop query argument. - $loop = $instance['loop'] ? '1' : '0'; - $src = empty( $instance['url'] ) ? $instance['url'] : add_query_arg( 'loop', $loop, $instance['url'] ); } if ( empty( $src ) ) {