WordPress.org

Make WordPress Core

Ticket #24458: 24458.diff

File 24458.diff, 1.3 KB (added by markjaquith, 8 years ago)
  • wp-includes/media.php

    function wp_audio_shortcode( $attr ) { 
    850850        $audio = null;
    851851
    852852        $default_types = wp_get_audio_extensions();
    853         $defaults_atts = array( 'src' => '' );
     853        $defaults_atts = array(
     854                'src' => '',
     855                'id' => ''
     856        );
    854857        foreach ( $default_types as $type  )
    855858                $defaults_atts[$type] = '';
    856859
    857860        $atts = shortcode_atts( $defaults_atts, $attr, 'audio' );
    858861        extract( $atts );
    859862
     863        if ( $id ) // if 'id' is set, use that, and ignore 'src'
     864                $src = wp_get_attachment_url( $id );
     865
    860866        $primary = false;
    861867        if ( ! empty( $src ) ) {
    862868                $type = wp_check_filetype( $src );
    function wp_video_shortcode( $attr ) { 
    952958        $default_types = wp_get_video_extensions();
    953959        $defaults_atts = array(
    954960                'src' => '',
     961                'id' => '',
    955962                'poster' => '',
    956963                'height' => 360,
    957964                'width' => empty( $content_width ) ? 640 : $content_width,
    function wp_video_shortcode( $attr ) { 
    963970        $atts = shortcode_atts( $defaults_atts, $attr, 'video' );
    964971        extract( $atts );
    965972
     973        if ( $id ) // if 'id' is set, use that, and ignore 'src'
     974                $src = wp_get_attachment_url( $id );
     975
    966976        $w = $width;
    967977        $h = $height;
    968978        if ( is_admin() && $width > 600 )