WordPress 将目录上传到外部文件夹或站点的参数文件夹.如何


Wordpress Upload directory to external folder or site's parant folder . how to?

我在wordpress上传文件夹时遇到问题...我不知道以前有没有在这里讨论过....

我在一个域下运行三个站点,例如

01.mydomain.com
02.mydomain.com
03.mydomain.com

所有这些站点在主域下都有自己的安装目录,例如

mydomain.com/site01
mydomain.com/site02
mydomain.com/site03

现在的问题是.....每个站点都将其文件上传到自己的目录中。我希望所有这些都上传到一个目录中,在主目录中......这是父母。

mydomain.com/files

这样文件应该在站点中的任何位置使用。文件的链接将更容易记住....和其他一些目的....

如果不清楚,我很抱歉....如果是这样,请告诉我....

正如迈克尔所建议的那样,我会使用WP的多站点功能。

然后,您可以更改常量WP_CONTENT_URL

上传网址路径由"upload_url_path"选项设置,或 通过使用"WP_CONTENT_URL"常量并将"/uploads"附加到 路径。

您可以在 wordpress.org 阅读有关wp_upload_dir的更多信息

您也可以尝试此处发布的解决方案:http://wordpress.org/support/topic/change-file-upload-folders-on-wordpress-30-multi-site

我挖了又挖了几个小时,终于找到了如何服用 对上传文件夹的最终控制。

每当WP要保存上传时,它都会运行wp_upload_dir() 函数存储在WP-include/functions.php中。此函数提供 过滤器以更改您喜欢的任何内容 - 包括上传 目录。

我用它来制作每个用户的个人上传文件夹:

add_filter('upload_dir', 'ml_media_upload_dir');
/**
 * Changes the upload directory to what we would like, 
 * instead of what WordPress likes.
 */
function ml_media_upload_dir($upload) {
    global $user_ID;
    if ((int)$user_ID > 0) {
        $upload['subdir'] = "/" . $user_ID;
        $upload['path'] .= $upload['subdir'];
        $upload['url'] .= $upload['subdir'];
    }
    return $upload;
}