WordPress上传中文名图片自动重命名

2018-11-02    来源:学做网站论坛

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

在学做网站论坛之前的的建站教程中,我们介绍了如何让wordpress网站支持上传中文图片名的方法,这个是需要通过修改WORDPRESS程序文件才能实现上传中文名图片的效果。

除了这种方法之外,还有下面一种解决wordpress程序不支持上传中文名图片的方法:WordPress上传中文名图片自动重命名。

方法很简单,只需要在自己的wordpress主题函数文件functions.php中添加以下代码:

function wpyou_rename_upload_file_prefilter($file){
$time=date("Y-m-d");
$file['name'] = $time."".mt_rand(1,100).".".pathinfo($file['name'] , PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'wpyou_rename_upload_file_prefilter');

这种方法实现的效果和前面介绍的方法结果是一样的,最大的好处是每次更新wp都不用再反复修改程序文件了,但是弊端是上传的图片全部都会重命名。

为了解决这种弊端,需要先检测一下图片名中是否包含中文,如果包含中文就重命名,如果不包含中文,就使用原来的图片名。修改后的代码如下:

function tin_custom_upload_name($file){
?   if(preg_match('/[一-龥]/u',$file['name'])):
?   $ext=ltrim(strrchr($file['name'],'.'),'.');
?   $file['name']=preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])).'_'.date('Y-m-d_H-i-s').'.'.$ext;
?   endif;
?   return $file;
}
add_filter('wp_handle_upload_prefilter','tin_custom_upload_name',5,1);

标签: 代码 建站 建站教程

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:wordpress如何在文章中插入视频

下一篇:限定wordpress 只搜索文章标题