Wordpress:为自定义插件指定一个上传文件夹


Wordpress: specify an upload folder for a custom plugin

我使用简单本地化身插件,允许用户在我的Wordpress网站上添加论坛图片。

默认的上传路径是www.site.com/wp-content/uploads。然而,由于我将有100-1000个用户,并且这个插件为每个化身创建了5个文件,它将完全破坏上传文件夹。

我希望将图片上传到www.site.com/wp-content/uploads/avatars/。

这个插件似乎得到了路径槽:

$upload_path = wp_upload_dir();

我尝试了几个技巧,例如:

 $upload_path = wp_upload_dir();
 $upload_path['baseurl'] .= '/avatars';
 $upload_path['basedir'] .= '/avatars';

这引起了主要的错误,因为它(我不知道为什么)在路径中包括图片二进制值。。。

或者这个解决方案:

add_filter('upload_dir', 'my_upload_dir');
$upload = wp_upload_dir();
remove_filter('upload_dir', 'my_upload_dir');
funcion my_upload_dir($upload) {
    $upload['subdir']   = '/sub-dir-to-use' . $upload['subdir'];
    $upload['path']     = $upload['basedir'] . $upload['subdir'];
    $upload['url']      = $upload['baseurl'] . $upload['subdir'];
    return $upload;
}

这不会影响实际的上传文件夹。

此外,插件作者似乎不想添加此功能,请参阅本支持主题。

如有任何帮助,我们将不胜感激。

感谢

我知道有点晚了,但您必须为pathbasepath提供绝对路径。