PDFファイルのファイル名が日本語の場合、アップロードしたファイルのリンクは urlencodeされていないため、safari等で表示できなくなる問題があるそうです。
トピック: WordPressで濁点ありの日本語ファイルをsafariでも表示でされない。 « サポートフォーラム
以下のようにフィルターを使うと、アップロードしたファイル名を変更することが出来ます。
if( mb_strlen( $filename ) !== strlen( $filename ) )
の部分は、日本語などのファイル名の場合、mb_strlen()とstrlen()が一致しないことを利用して、簡易的言語判定を行っています。
function make_filename_hash( $filename ) { $info= pathinfo($filename); if( isset( $info['extension'] ) && 'pdf'== $info['extension'] ){ $ext = '.' . $info['extension']; if( mb_strlen( $filename ) !== strlen( $filename ) ) { return md5($name) . $ext; } else { return $filename; } } return $filename; } add_filter('sanitize_file_name', 'make_filename_hash', 11);