WordPress.org

Make WordPress Core

Ticket #23282: 23282.3.diff

File 23282.3.diff, 4.9 KB (added by wonderboymusic, 3 years ago)
  • wp-includes/media.php

    diff --git wp-includes/media.php wp-includes/media.php
    index 682ffbb..68666a0 100644
    function gallery_shortcode($attr) { 
    803803} 
    804804 
    805805/** 
     806 * The Audio shortcode. 
     807 * 
     808 * This implements the functionality of the Audio Shortcode for displaying 
     809 * WordPress mp3s in a post. 
     810 * 
     811 * @since 3.6.0 
     812 * 
     813 * @param array $attr Attributes of the shortcode. 
     814 * @return string HTML content to display audio. 
     815 */ 
     816function wp_audio_shortcode( $attr ) { 
     817        $post = get_post(); 
     818 
     819        static $instances = 0; 
     820        $instances++; 
     821 
     822        $audio = null; 
     823 
     824        extract( shortcode_atts( array( 
     825                'src' => '', 
     826                'ogg' => '' 
     827        ), $attr ) ); 
     828 
     829        if ( empty( $src ) ) { 
     830                $children = get_children( array( 
     831                        'post_parent' => $post->ID, 
     832                        'post_type' => 'attachment', 
     833                        'post_mime_type' => 'audio', 
     834                        'posts_per_page' => 1 
     835                ) ); 
     836 
     837                if ( empty( $children ) ) 
     838                        return; 
     839 
     840                $audio = reset( $children ); 
     841                $src = wp_get_attachment_url( $audio->ID ); 
     842                if ( empty( $src ) ) 
     843                        return; 
     844        } 
     845 
     846        wp_enqueue_style( 'wp-mediaelement' ); 
     847        wp_enqueue_script( 'wp-mediaelement' ); 
     848 
     849        $html = sprintf( '<audio class="%s" id="%s" src="%s" type="audio/mp3" controls="controls"></audio>', 
     850                apply_filters( 'audio_shortcode_class', 'wp-audio-shortcode' ), 
     851                sprintf( 'audio-%d-%d', $post->ID, $instances ), 
     852                esc_url( $src ) 
     853        ); 
     854 
     855        return apply_filters( 'audio_shortcode', $html, $src, $audio, $post ); 
     856} 
     857add_shortcode( 'audio', 'wp_audio_shortcode' ); 
     858 
     859/** 
     860 * The Video shortcode. 
     861 * 
     862 * This implements the functionality of the Video Shortcode for displaying 
     863 * WordPress mp4s in a post. 
     864 * 
     865 * @since 3.6.0 
     866 * 
     867 * @param array $attr Attributes of the shortcode. 
     868 * @return string HTML content to display video. 
     869 */ 
     870function wp_video_shortcode( $attr ) { 
     871        global $content_width; 
     872        $post = get_post(); 
     873 
     874        static $instances = 0; 
     875        $instances++; 
     876 
     877        $video = null; 
     878 
     879        extract( shortcode_atts( array( 
     880                'src' => '', 
     881                'width' => empty( $content_width ) ? 640 : $content_width, 
     882                'height' => 360, 
     883                'poster' => '', 
     884                'webm' => '', 
     885                'ogv' => '', 
     886                'mov' => '', 
     887                'wmv' => '', 
     888                'flv' => '', 
     889        ), $attr ) ); 
     890 
     891        if ( empty( $src ) ) { 
     892                $children = get_children( array( 
     893                        'post_parent' => $post->ID, 
     894                        'post_type' => 'attachment', 
     895                        'post_mime_type' => 'video', 
     896                        'posts_per_page' => 1 
     897                ) ); 
     898 
     899                if ( empty( $children ) ) 
     900                        return; 
     901 
     902                $video = reset( $children ); 
     903                $src = wp_get_attachment_url( $video->ID ); 
     904                if ( empty( $src ) ) 
     905                        return; 
     906        } 
     907 
     908        wp_enqueue_style( 'wp-mediaelement' ); 
     909        wp_enqueue_script( 'wp-mediaelement' ); 
     910 
     911        $atts = array( 
     912                sprintf( 'class="%s"', apply_filters( 'video_shortcode_class', 'wp-video-shortcode' ) ), 
     913                sprintf( 'id="video-%d-%d"', $post->ID, $instances ), 
     914                sprintf( 'width="%d"', $width ), 
     915                sprintf( 'height="%d"', $height ), 
     916        ); 
     917 
     918        if ( ! empty( $poster ) ) 
     919                $atts[] = sprintf( 'poster="%s"', esc_url( $poster ) ); 
     920 
     921        $source = '<source type="%s" src="%s" />'; 
     922 
     923        $html = sprintf( '<video %s controls="controls" preload="none">', join( ' ', $atts ) ); 
     924 
     925        foreach ( array( 'src', 'webm', 'ogv', 'mov', 'wmv', 'flv' ) as $fallback ) { 
     926                if ( ! empty( $$fallback ) ) { 
     927                        $type = wp_check_filetype( $$fallback ); 
     928                        $html .= sprintf( $source, $type['type'], $$fallback ); 
     929                } 
     930        } 
     931 
     932        $html .= '</video>'; 
     933 
     934        return apply_filters( 'video_shortcode', $html, $src, $video, $post ); 
     935} 
     936add_shortcode( 'video', 'wp_video_shortcode' ); 
     937 
     938/** 
    806939 * Display previous image link that has the same post parent. 
    807940 * 
    808941 * @since 2.5.0 
  • wp-includes/script-loader.php

    diff --git wp-includes/script-loader.php wp-includes/script-loader.php
    index d8c4f7d..4201612 100644
    function wp_default_scripts( &$scripts ) { 
    274274 
    275275        $scripts->add( 'imgareaselect', "/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js", array('jquery'), '0.9.8', 1 ); 
    276276 
     277        $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player$suffix.js", array('jquery'), '2.10.1', 1 ); 
     278        $scripts->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement.js", array('mediaelement'), false, 1 ); 
     279 
    277280        $scripts->add( 'password-strength-meter', "/wp-admin/js/password-strength-meter$suffix.js", array('jquery'), false, 1 ); 
    278281        did_action( 'init' ) && $scripts->localize( 'password-strength-meter', 'pwsL10n', array( 
    279282                'empty' => __('Strength indicator'), 
    function wp_default_styles( &$styles ) { 
    538541        $styles->add( 'media-views', "/wp-includes/css/media-views$suffix.css", array( 'buttons' ) ); 
    539542        $styles->add( 'buttons', "/wp-includes/css/buttons$suffix.css" ); 
    540543 
     544        $styles->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelementplayer$suffix.css" ); 
     545        $styles->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) ); 
     546 
    541547        foreach ( $rtl_styles as $rtl_style ) { 
    542548                $styles->add_data( $rtl_style, 'rtl', true ); 
    543549                if ( $suffix && ! in_array( $rtl_style, $no_suffix ) )