首頁  >  文章  >  後端開發  >  WordPress中文名稱、數位名圖片上傳自動重新命名代碼

WordPress中文名稱、數位名圖片上傳自動重新命名代碼

PHPz
PHPz原創
2017-03-12 11:59:091771瀏覽

關於WordPress上傳圖片自動重命名的代碼及方法網上已經非常凌亂,甚至基本上都是一成不變的功能,兼容性和效果並不那麼理想,比如在php中文網免費worpress模板下載區有很多都是這樣,所以我們改進了一下這些程式碼,可以讓WordPress媒體庫上傳對中文名圖片以及無意義的數位命名圖片更具較強的兼容性。

WordPress中文名稱、數位名圖片上傳自動重新命名代碼

在我們使用WordPress發布文章時,經常都需要添加圖片、多媒體什麼的。然而大家都知道WordPress是個外國貨,對於中文的支援以及對國內某些偏執於喜歡使用Windows Server系統伺服器的朋友來說就顯得不那麼可觀了,也正是對於我們中文用戶來說,我們都習慣或是喜歡把圖片命名為中文的,但是由於WordPress的機制的原因,並不能正常的顯示圖片或各種的問題。所以就需要帶給大家一個全面且優質的WordPress中文名圖片上傳解決方案了。

依然是WordPress的老規矩,將以下程式碼加入目前主題的functions.php:

//WordPress中文名、数字名图片上传自动重命名
add_filter('sanitize_file_name','fanly_custom_upload_name', 5, 1 );
function fanly_custom_upload_name($file){
$info= pathinfo($file);
$ext= empty($info['extension']) ? '' : '.' . $info['extension'];
$name= basename($file, $ext);
if(preg_match("/[一-龥]/u",$file)){//中文换名
$file= substr(md5($name), 0, 20) . rand(00,99) . $ext;//截取前20位MD5长度,加上两位随机
}elseif(is_numeric($name)){//数字换名
$file= substr(md5($name), 0, 20) . rand(00,99) . $ext;//截取前20位MD5长度,加上两位随机
}
    return $file;
}

使用以上程式碼還可以解決WordPress文章上傳中文名圖片附件出現亂碼或不顯示的問題,也就可以解決WordPress文章上傳中文名圖片附件出現亂碼或不顯示的問題,也就可以為中文名圖片以及無意義的純數字命名的圖片自動使用MD5加密重命名並截取,相比與其它WordPress圖片自動重命名兼容性更強,效果也更好一些。

不過最後還是有一點建議,如果大家重視對圖片的優化,大家的圖片命名還是竟可能的使用英文單字/詞組或這中文拼音等方式,更有利於圖片的命名的優化。以上程式碼使用MD5方式加密命名的方式其實也並不利於圖片優化,只是看起來裝逼的慾望和逼格更高罷了。當然圖片還是要合理的加入alt描述屬性才是對圖片最最有利的優化。

以上是WordPress中文名稱、數位名圖片上傳自動重新命名代碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn