在上传图像wordpress上更改图像名称

时间:2014-03-26 12:02:47

标签: php wordpress file-upload

当我上传图片时,wordpress会将四个文件保存到服务器上(如设置 - >媒体中所定义):

1 -> thumbnailsize (150x150)
2 -> Medium size (1024x768)
3 -> Large size (1920x1080)
4 -> Original size (---x---)

我总是需要大尺寸的图片,但是当我上传大小为 1620x1080 的图片时,Wordpress会将图片命名为 some-image-1620x1080.jpg 我不想要。

我可以以任何方式将图像名从 some-image-1920x1080.jpg 改为 some-image-large.jpg 吗?

2 个答案:

答案 0 :(得分:1)

您必须在functions.php文件中创建一个功能,该功能将处理文件上传,并会挂在过滤器wp_handle_upload_prefilter上:

add_filter('wp_handle_upload_prefilter', 'wp_rename_large_images', 1, 1);
//Check to see if function name is unique
if (!function_exists("wp_rename_large_images")) {
function wp_rename_large_images( $file ){
   //Get image size 
   $img = getimagesize($file['tmp_name']);
   //Image dimensions
   $width = $img[0];
   $height = $img[1];
   //Check to see if image is large enough to change the file name
   if ($width > 1200 || $height > 1080) {
     //Modify the file name WITH an extension
     $ext = pathinfo($file['name'], PATHINFO_EXTENSION);
     //Build the new file name (remove the old extension - last 3 characters from the file name, i.e. jpg, gif, png, bmp, etc.)
     $file['name'] = substr($file['name'], -3) . '-large'. $ext;
   }
    return $file;
}
}

阅读文档here

答案 1 :(得分:0)

我仍然没有找到针对此问题的特定解决方案,有些人声称您无法更改上传文件的名称,只能添加内容。我现在使用的是Maxon的Gallery Theme插件,以便将我的缩略图和大图像放在两个单独的数据路径中,这解决了我的整个问题。该插件非常轻巧,可以完美地完成画廊的工作。

这个插件可以在这里找到: http://wordpress.org/plugins/gallery-theme/