在我们使用WordPress发布文章时,经常都需要添加图片、多媒体什么的。然而,大家都知道WordPress对于上传的文件默认不改变文件的原名称。有的博主由于文件量大而不愿意逐个重命名文件,有的会把图片命名为中文的,由于WordPress的机制的原因,如果直接上传的话,可能会导致中文文件名的文件出现乱码或不能正常的显示图片,又或者其它各种问题。现在推荐两段在wordpress上传媒体文件时自动重命名的代码。

代码一:按时间重命名

上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20171101122221765.jpg”

PHP
//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');

代码二:用MD5加密生成数字并重命名

名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。

PHP
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模板文件中即可。

以上代码,很方便,节省时间。

其实也可在电脑上全选文件,按F2,然后直接输入字母或者数字,回车重命名的方法也很方便。


评论专区
  • 昵 称必填
  • 邮 箱必填
  • 网 址选填
◎已有 0 人评论
作者介绍
吕布

吕布

负责所有栏目的编辑工作。
80vps henghost
30天热门
budgetvm sugarhosts

分享:

支付宝

微信