WP_Widget_Media_Video::render_media() WordPress Method
The WP_Widget_Media_Video::render_media() method is used to display a video in a WordPress widget. This method accepts two arguments: the video URL and an array of video attributes. The video URL is required, but the attributes are optional. The method first checks if the video URL is valid. If it is, the method then checks if the video is local (hosted on the same WordPress site). If the video is local, the method calls the wp_get_attachment_url() function to get the URL of the video. Next, the method sets up the
WP_Widget_Media_Video::render_media( array $instance ) #
Render the media on the frontend.
Parameters
- $instance
(array)(Required)Widget instance props.
Source
File: wp-includes/widgets/class-wp-widget-media-video.php
public function render_media( $instance ) { $instance = array_merge( wp_list_pluck( $this->get_instance_schema(), 'default' ), $instance ); $attachment = null; if ( $this->is_attachment_with_mime_type( $instance['attachment_id'], $this->widget_options['mime_type'] ) ) { $attachment = get_post( $instance['attachment_id'] ); } $src = $instance['url']; if ( $attachment ) { $src = wp_get_attachment_url( $attachment->ID ); } if ( empty( $src ) ) { return; } $youtube_pattern = '#^https?://(?:www\.)?(?:youtube\.com/watch|youtu\.be/)#'; $vimeo_pattern = '#^https?://(.+\.)?vimeo\.com/.*#'; if ( $attachment || preg_match( $youtube_pattern, $src ) || preg_match( $vimeo_pattern, $src ) ) { add_filter( 'wp_video_shortcode', array( $this, 'inject_video_max_width_style' ) ); echo wp_video_shortcode( array_merge( $instance, compact( 'src' ) ), $instance['content'] ); remove_filter( 'wp_video_shortcode', array( $this, 'inject_video_max_width_style' ) ); } else { echo $this->inject_video_max_width_style( wp_oembed_get( $src ) ); } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.8.0 | Introduced. |