[WP] 檔案上傳後自動更名

原本的 WP上傳檔案後的檔名就是原始的檔案名稱

如果檔名有中文的話,在某些情況之下可能會出錯

所以這次就加入檔案上傳後自動更名的功能

版本:WordPress 4.7.2

修改的檔案:wp-includes/functions.php

 

開始動工:

打開functions.php 大約在2030行左右

找到function wp_unique_filename

大概會長這樣

Screenshot functions.php

接著就把下面的程式碼貼上去,貼完讓httpd restart就可以了

//上傳的檔案名稱用MD5雜湊函數
$filename = md5($name).'.'.$ext;

之後上傳的檔案都會用自動改名(英文字母+數字的格式)

 


補充說明:

這方法是在網路上找到了,但是有bug

檔案改名後,檔名跟副檔名沒有用點隔開

如下圖

Screenshot-autorename bug

本篇最原始的出處Stackoverflow

跟原本的差異是把函式拿掉

原版是正常了,把函式拿掉的修改版有bug

我在此修正了。