web-dev-qa-db-fra.com

Les fichiers .MP3 avec les extensions de lettre majuscule sont-ils autorisés dans le shortcode [audio]?

Dans WordPress 3.6, en utilisant le nouveau shortcode [audio], je peux ajouter un lecteur pour un fichier .mp3 comme celui-ci:

[audio src="http://example.com/audio_files/test.mp3"]

Toutefois, si le fichier .mp3 comporte des lettres majuscules dans l'extension, cela ne fonctionne pas:

[audio src="http://example.com/audio_files/test_capital.MP3"]

Si je spécifie le format dans le shortcode, il échoue quand même, mais d'une manière différente:

[audio mp3="http://example.com/audio_files/test_capital.MP3"]

En regardant la fonction wp_audio_shortcode dans "wp-includes/media.php", je peux voir où cela se produit.

Est-ce comportement intentionnel pour WordPress 3.6? Existe-t-il des solutions de contournement (autres que le changement de nom du fichier)? Devrais-je déposer un rapport de bogue?

Suivre

Ce bogue a été corrigé dans le noyau de WordPress 3.7.

1
Ben Miller

Non, apparemment pas. Jusqu'à ce que ce comportement soit modifié dans version 3.7 , vous pouvez ajouter ce filtre au fichier functions.php de votre thème pour inclure des extensions supplémentaires.

Modifié: j'ai mis à jour le filtre avec le meilleur code suggéré dans les commentaires.

Extensions minuscules et majuscules

function my_custom_audio_extensions( $exts ) {
    //merge array of upper case extensions with default array
    return array_merge( $exts, array_map('strtoupper', $exts) );
}
add_filter( 'wp_audio_extensions', 'my_custom_audio_extensions' );

Extensions majuscules majuscules, minuscules et première lettre

function my_custom_audio_extensions( $exts ) {
    //merge array of lower case defaults, uppercase and first letter capitalized
    return array_merge( $exts, array_map('strtoupper', $exts), array_map('ucfirst', $exts));
}
add_filter( 'wp_audio_extensions', 'my_custom_audio_extensions' );
4
epilektric