- 09/30草莓互联2024年国庆假期...
- 09/15草莓互联2024年中秋节放...
- 08/10宝塔控制面板手动安装Ope...
- 06/07草莓互联2024年端午节放...
- 04/30草莓互联2024年五一劳动...
- 04/03草莓互联2024年清明放假...
- 03/24宝塔控制面板Nginx后端...
- 02/27宝塔面板python2.7升级...
- 02/19宝塔面板站点PCI DSS不合...
- 02/19宝塔面板站点站长工具中点亮HT...
- 02/14宝塔面板https协议无法获取...
- 02/11宝塔Windows面板下SQL...
- 02/02宝塔控制面板利用nginx实现...
- 09/18宝塔控制面板FTP增加Flas...
phpweb已经是国内最强的的开源电子商务系统了,但并非完美,因为任何...
互联网3年一轮回,京东凡客等电商品牌在三年之前也不过是小打小闹,而如...
电商已经成为趋势,传统行业的竞争已经逐渐演变到网络上,也有不少用Weboss...
phpweb系统是固定的模式,适用于大部分行业与需求。但有一些行业还是有自己...
使用代码实现WordPress上传图片自动重命名的三个方法
很多做网站的朋友为了区分图片,一般都是会采用中文命名。不过由于Linux不支持中文,所以当我们上传的图片在浏览器当中打开的时候,就会变成一串字符。其实,这种情况对于我们WordPress用户需要管理图片的时候,会变得非常的不方便。当然也是有插件可以帮助我们完美的实现,图片自动重命名,对于一些强大的插件,可以帮助我们轻松管理WordPress的附件,其中文件,或者图片一类的,都可以做到分类重命名等等。不过一般对于小牛资源网这样的,只是需要对上传的图片或者附件重命名,这个功能实现起来完全用不上插件。毕竟大家对于WordPress的后台性能还是比较诟病。水土不服的WordPress,使用过多的插件以后,后台就会各种慢。然后如果有的插件在前台还有JS文件加载的话,无疑,会让自己的网站变得更慢。所以今天草莓互联站长整理这篇文章,希望对正在苦恼这个问题的小伙伴们能有一些帮助。
方法一;修改file.php附件管理文件
由于WordPress上传媒体文件的代码都在“wp-adminincludes里面的file.php”,打开“file.php”,找到里面的一下代码;
filename=wpuniquefilename(uploads['path'], file[′name′],unique_filename_callback );
// Move the file to the uploads dir,在此句$filename赋值前添加代码如下:
这里一定要注意“前后”$filename前后添加这些代码:
$time=date("YmdHis");$type_change = array('image'=>'.');$file_type = strtr($file['type'],$type_change);
$file['name'] = $time.''.mt_rand(1,100).''.$file_type ;
$filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback );
// Move the file to the uploads dir在此句$filename赋值后添加代码如下:
以上办法对于新手同学来说可能我说的不是那么的容易理解,那请往下看,下方的内容可能会更合适你的使用,只需要在WordPress主题的“functions.php”文件当中写入即可。不过由于我们购买的主题会经常性的更新,所以这就容易造成一个问题,当我们升级了主题以后,上传文件自动重命名的功能就不再可用。
方法二;修改主题functions.php文件附件按时间重命名
通过上传图片的时间。来重新命名文件,时间的格式以“年月日时分秒+千位毫秒整数”例如:“20161023122221765.jpg”
这个方法使用起来会变得更方便,同事也更加方便我们的处理,毕竟一看图片的名称就能够一眼看出这个图片是什么时候上传的,大概也能够判断出当时自己为什么上传这个图片。对于图片的备份也会更加的方便一些。
//wordpress上传文件重命名日期重命名
function git_upload_filter($file) {
$time = date("YmdHis");
$file['name'] = $time . "" . mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'git_upload_filter');
方法3;修改主题functions.php文件附件按MD5加密重命名
这一类的方法,对于图片的管理相对欠缺一些,毕竟使用的是一串数字来重命名图片,或者,附件。这对我们管理文件相对来说没有方法2方便。命名规则由WordPress环境自动生成的一个32位的MD5加密文件名称,不过由于MD5一般默认的加密,那一连串的数字,看起来简直是不堪入目。所以使用了“substr”将其截断,毕竟一连串的数字看着都头疼。使用“substr(md5($name), 0, 20) ”为最长字符为20位,如果你不需要那么长的话,可以改成“10”。
//wordpress上传文件重命名MD5加密
function rename_filename($filename) {
$info = pathinfo($filename);
$ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($filename, $ext);
return substr(md5($name), 0, 20) . $ext;
}
add_filter('sanitize_file_name', 'rename_filename', 10);
补充方法;手动重命名图片的方法
其实还有一个相对来说比较方便的办法,如果你既不想修改主题的“functions.php”文件,也不想修改WordPress后台的“file.php”文件。毕竟修改代码存在风险,或者说有的主题压根是不能够修改。说不定下面的这个方法,会比较合适你。打开你的媒体管理中心—媒体库,全选所有的照片,然后批量重命名就好了。相对来说这个办法比较鸡肋,在新版的主题上面还不支持这么操作,可以在本地上传图片之前,全选所有的照片,直接右键重命名,就可以了。
假如我们资讯/文章对您有所帮助,您可以通过扫描捐赠二维码支持一下我们~
感谢您对我们的支持,您的小小支持让我们有信心走得更远!