WordPress只给上传的图片(JPG/PNG/GIF)文件重命名 不给其他附件重命名
关于WordPress只给上传的图片(JPG/PNG/GIF)文件重命名,不给其他附件重命名,这个问题我之前参考了下面两段代码:
第一段
1 2 3 4 5 6 7 8 9 10 11 12 | function image_name_with_date($filename) { $info = pathinfo($filename); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; /* check image is file or not */ if ($info['extension']== 'jpg' || $info['extension'] == 'jpeg' || $info['extension'] == 'gif' || $info['extension'] == 'png') { $name = basename($filename, $ext); return date('d_m_y').'-'.$name.$ext; } return $filename; //if file is not image } add_filter('sanitize_file_name', 'image_name_with_date', 10); |
源头:https://stackoverflow.com/questions/65424416/wordpress-how-to-rename-image-during-upload-with-current-date
第二段
1 2 3 4 5 6 7 8 | add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' ); function custom_upload_filter( $file ){ $info = pathinfo($file['name']); $ext = $info['extension']; $filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数 $file['name'] = $filedate.'.'.$ext; return $file; } |
源头:https://www.suxing.me/wp-courses/941.html
但我根据自己的需要,使用了下面这种。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' ); function custom_upload_filter( $file ){ $info = pathinfo($file['name']); $ext = empty($info['extension']) ? '' : '.' . $info['extension']; /* 检查是否为图片格式 */ if ($info['extension']== 'jpg' || $info['extension'] == 'jpeg' || $info['extension'] == 'gif' || $info['extension'] == 'png') { $name = basename($file['name'], $ext); $filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数 $file['name'] = $filedate.'-'.$name.$ext; } return $file; } |
你可以根据自己的需要做修改。