WordPress.org

Make WordPress Core

Ticket #20851: 20851.diff

File 20851.diff, 998 bytes (added by Otto42, 6 years ago)

Allow arbitrary params to be passed to oembed providers

  • wp-includes/class-oembed.php

     
    158158         */
    159159        function fetch( $provider, $url, $args = '' ) {
    160160                $args = wp_parse_args( $args, wp_embed_defaults() );
    161 
    162                 $provider = add_query_arg( 'maxwidth', (int) $args['width'], $provider );
    163                 $provider = add_query_arg( 'maxheight', (int) $args['height'], $provider );
     161               
     162                foreach ($args as $key=>$value) {
     163                        switch ($key) {
     164                        case 'width':
     165                                $provider = add_query_arg( 'maxwidth', (int) $args['width'], $provider );
     166                                break;
     167                        case 'height':
     168                                $provider = add_query_arg( 'maxheight', (int) $args['height'], $provider );
     169                                break;
     170                        default:
     171                                $provider = add_query_arg( $key, $value, $provider );
     172                                break;
     173                        }
     174                }
     175               
    164176                $provider = add_query_arg( 'url', urlencode($url), $provider );
    165177
    166178                foreach( array( 'json', 'xml' ) as $format ) {