WordPress 上傳媒體文件時,默認會保持文件名不變。若是上傳文件名中包含中文字符,則會形成部分瀏覽器顯示的文件 URL 疑似亂碼甚至沒法訪問。網上流行較廣的是經過註冊 wp_handle_upload_prefilter 過濾器實現,可是該方案在重命名文件的同時也會將附件的標題修改,形成數據丟失。本篇文章將介紹一種既能自動重命名文件名且不改變附件標題的方法。php
將如下代碼添加到所使用主題的functions.php 文件中最後一個?>的前面便可。html
1 function wp_coderbusy_sanitize_file_name( $filename ) { 2 $time = date("YmdHis"); 3 return $time . "" . mt_rand(1000, 9999) . "." . pathinfo($filename, PATHINFO_EXTENSION); 4 } 5 6 add_filter( 'sanitize_file_name', 'wp_coderbusy_sanitize_file_name', 10, 1 );