WordPress.org

Make WordPress Core

Ticket #24449: 24449.diff

File 24449.diff, 3.7 KB (added by nacin, 5 years ago)
  • wp-includes/js/media-editor.js

     
    4444
    4545                        props.title = props.title || attachment.title;
    4646
    47                         link = props.link || defaultProps.link || getUserSetting( 'urlbutton', 'file' );
     47                        link = props.embed || props.link || defaultProps.link || getUserSetting( 'urlbutton', 'file' );
    4848                        if ( 'file' === link )
    4949                                linkUrl = attachment.url;
    5050                        else if ( 'post' === link )
     
    102102                        props = wp.media.string.props( props, attachment );
    103103                        shortcode = {};
    104104
     105                        if ( props.embed !== 'embed' )
     106                                return wp.media.string.link( props );
     107
    105108                        if ( props.mime ) {
    106109                                switch ( props.mime ) {
    107110                                case 'audio/mpeg':
    108                                         if ( attachment.url.indexOf( 'mp3' ) )
     111                                        if ( attachment.filename.indexOf( 'mp3' ) )
    109112                                                shortcode.mp3 = attachment.url;
    110                                         else if ( attachment.url.indexOf( 'm4a' ) )
     113                                        else if ( attachment.filename.indexOf( 'm4a' ) )
    111114                                                shortcode.m4a = attachment.url;
    112115                                        break;
    113116                                case 'audio/mp3':
  • wp-includes/js/media-views.js

     
    441441                        this._defaultDisplaySettings = {
    442442                                align: defaultProps.align || getUserSetting( 'align', 'none' ),
    443443                                size:  defaultProps.size  || getUserSetting( 'imgsize', 'medium' ),
    444                                 link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' )
     444                                link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' ),
     445                                embed: 'embed'
    445446                        };
    446447                },
    447448
     
    36523653                        if ( attachment ) {
    36533654                                _.extend( this.options, {
    36543655                                        sizes: attachment.get('sizes'),
    3655                                         type:  attachment.get('type')
     3656                                        type:  attachment.get('type'),
     3657                                        canEmbed: this.canEmbed( attachment )
    36563658                                });
    36573659                        }
    36583660
     
    36613663                        return this;
    36623664                },
    36633665
     3666                canEmbed: function( attachment ) {
     3667                        var subtype, type = attachment.get('type');
     3668                        if ( type !== 'audio' && type !== 'video' )
     3669                                return false;
     3670
     3671                        subtype = attachment.get('subtype');
     3672                        if ( 'audio' === type )
     3673                                return _.contains( [ 'mpeg', 'mp3', 'm4a', 'wav', 'ogg', 'x-ms-wma', 'wma' ], subtype );
     3674                        else
     3675                                return _.contains( [ 'mp4', 'm4v', 'webm', 'ogg', 'x-ms-wmv', 'wmv', 'asf', 'flv', 'x-flv' ], subtype );
     3676                },
     3677
    36643678                updateLinkTo: function() {
    36653679                        var linkTo = this.model.get('link'),
    36663680                                $input = this.$('.link-to-custom'),
  • wp-includes/media-template.php

     
    279279                        </label>
    280280                <# } #>
    281281
     282                <# if ( data.canEmbed ) { #>
     283                        <label class="setting">
     284                                <span><?php _e('Embed or Link'); ?></span>
     285                                <select class="embed-or-link"
     286                                        data-setting="embed">
     287                                <# if ( 'audio' === data.type ) { #>
     288                                        <option value="embed" selected>
     289                                                <?php esc_attr_e('Embed Audio Player'); ?>
     290                                        </option>
     291                                <# } else { #>
     292                                        <option value="embed" selected>
     293                                                <?php esc_attr_e('Embed as Video Player'); ?>
     294                                        </option>
     295                                <# } #>
     296                                        <option value="file">
     297                                                <?php esc_attr_e('Link to Media File'); ?>
     298                                        </option>
     299                                        <option value="post">
     300                                                <?php esc_attr_e('Link to Attachment Page'); ?>
     301                                        </option>
     302                                </select>
     303                        </label>
     304                <# } else { #>
     305
    282306                <div class="setting">
    283307                        <label>
    284308                                <span><?php _e('Link To'); ?></span>
     
    305329                        <input type="text" class="link-to-custom" data-setting="linkUrl" />
    306330                </div>
    307331
     332                <# } #>
     333
    308334                <# if ( 'undefined' !== typeof data.sizes ) { #>
    309335                        <label class="setting">
    310336                                <span><?php _e('Size'); ?></span>