Make WordPress Core

Changeset 55271


Ignore:
Timestamp:
02/07/2023 03:57:24 PM (2 years ago)
Author:
joedolson
Message:

Media: Enable selective optout for video and audio shortcodes.

Make the JavaScript selectors for audio and video shortcodes aware of the state of the wp_video_shortcode_library and wp_audio_shortcode_library filters. Allow extenders to replace the library for either media shortcode.

Props westonruter, joedolson, rudlinkon, obayedmamur.
Fixes #40144.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/js/_enqueues/vendor/mediaelement/wp-mediaelement.js

    r47094 r55271  
    2020         */
    2121        function initialize() {
     22            var selectors = [];
     23
    2224            if ( typeof _wpmejsSettings !== 'undefined' ) {
    2325                settings = $.extend( true, {}, _wpmejsSettings );
     
    6466            };
    6567
     68            if ( 'undefined' === typeof settings.videoShortcodeLibrary || 'mediaelement' === settings.videoShortcodeLibrary ) {
     69                selectors.push( '.wp-video-shortcode' );
     70            }
     71            if ( 'undefined' === typeof settings.audioShortcodeLibrary || 'mediaelement' === settings.audioShortcodeLibrary ) {
     72                selectors.push( '.wp-audio-shortcode' );
     73            }
     74            if ( ! selectors.length ) {
     75                return;
     76            }
     77
    6678            // Only initialize new media elements.
    67             $( '.wp-audio-shortcode, .wp-video-shortcode' )
     79            $( selectors.join( ', ' ) )
    6880                .not( '.mejs-container' )
    6981                .filter(function () {
  • trunk/src/wp-includes/script-loader.php

    r55269 r55271  
    11121112        'classPrefix' => 'mejs-',
    11131113        'stretching'  => 'responsive',
     1114        /** This filter is documented in wp-includes/media.php */
     1115        'audioShortcodeLibrary' => apply_filters( 'wp_audio_shortcode_library', 'mediaelement' ),
     1116        /** This filter is documented in wp-includes/media.php */
     1117        'videoShortcodeLibrary' => apply_filters( 'wp_video_shortcode_library', 'mediaelement' ),
    11141118    );
    11151119    did_action( 'init' ) && $scripts->localize(
Note: See TracChangeset for help on using the changeset viewer.