0

我遇到了 wordpress 上传文件夹的问题……我不知道之前是否在这里讨论过……

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

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

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

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

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

mydomain.com/files

这样文件应该在站点的任何地方使用......并且文件的链接将更容易记住......以及其他一些用途......

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

4

1 回答 1

1

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

然后你可以改变常数WP_CONTENT_URL

上传 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-includes/functions.php 中的 wp_upload_dir() 函数。这个函数提供了一个过滤器来改变你喜欢的任何东西——包括上传目录。

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

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;
}
于 2013-11-02T23:55:00.877 回答