web-dev-qa-db-ja.com

大文字の拡張子を持つ.MP3ファイルは[audio]ショートコードで使用できますか?

WordPress 3.6では、新しい[audio]ショートコードを使用して、.mp3ファイル用のプレーヤーを次のように追加できます。

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

しかし、.mp3ファイルの拡張子に大文字が含まれているとうまくいきません。

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

私がショートコードでフォーマットを指定した場合、それは別の方法ではありますが、それでも失敗します。

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

"wp-includes/media.php"の関数wp_audio_shortcodeを見ると、これがどこで起こっているのかがわかります。

これはWordPress 3.6の意図的な動作ですか? (ファイル名を変更する以外に)回避策はありますか?バグレポートを提出する必要がありますか?

ファローアップ

このバグは コアで修正されました WordPress 3.7では/。

1
Ben Miller

いいえ、どうやらそうではありません。この動作が バージョン3.7 で変更されるまでは、このフィルタをテーマのfunctions.phpファイルに追加して、追加の拡張子を含めることができます。

編集:コメントで提案されたより良いコードでフィルタを更新しました。

小文字と大文字の拡張子

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' );

小文字、大文字、および先頭文字を大文字にした拡張子

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