You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用One User Avatar插件时上传路径重复uploads的问题

解决One User Avatar插件头像上传路径重复uploads的问题

你遇到的路径重复问题,是因为代码里错误设置了basedir、baseurl和上传路径的关系:原代码把basedir设为wp-content,同时uploadDir包含了完整的wp-content/uploads/avatar路径,导致WordPress生成URL时,在baseurl(wp-content)基础上重复拼接uploads部分,最终出现双uploads的错误地址。

修正后的代码如下:

function wp_set_custom_upload_folder($uploads) {
    if ( isset($_FILES['wpua-file']) && !empty($_FILES['wpua-file']) ) {
        $sub_dir = 'avatar';
        // 基于默认uploads目录拼接子文件夹路径
        $uploads['path'] = $uploads['basedir'] . '/' . $sub_dir;
        $uploads['url'] = $uploads['baseurl'] . '/' . $sub_dir;
        $uploads['subdir'] = '/' . $sub_dir;
        
        // 检查并创建目标文件夹(如果不存在)
        if (!file_exists($uploads['path'])) {
            mkdir($uploads['path'], 0755, true);
        }
    }
    return $uploads;
}
add_filter('upload_dir', 'wp_set_custom_upload_folder');

关键修改说明:

  • 不再手动定义完整路径,而是基于WordPress默认的basedir(wp-content/uploads绝对路径)和baseurl(对应URL)拼接子目录avatar,确保路径层级正确
  • 设置subdir参数,让WordPress正确识别子目录结构,避免路径拼接错误
  • 用isset()和!empty()更安全地判断头像上传文件是否存在

内容的提问来源于stack exchange,提问作者rk9802710

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 21:52:43