現在WordPress檔案上傳功能可以上傳中文檔案名稱,但是在版型上支援度對於中文還是沒有太好,所以建議大家還是不要將圖片或是檔案使用中文檔名上傳,因為很可能造成網站出錯,或者是備份下來也亂碼等怪問題,要解決這問題最簡單方式就透過WordPress的filter實現檔案上傳後自動命名。
將以下語法放置到 functions.php 裡面,只要透過後台媒體功能(WordPress內建上傳功能)把檔案上傳,檔案名稱就會根據原始檔案名稱進行md5的雜湊運算,得出的檔案名稱將是這個檔案的新名稱。
function make_filename_hash($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; $name = basename($filename, $ext); return md5($name) . $ext; } add_filter('sanitize_file_name', 'make_filename_hash', 10);
語法來源:Stackoverflow.