wordpress multisite remove / sites / {ID} /自动上传网址

时间:2015-07-29 14:21:53

标签: wordpress upload structure dir multisite

当使用wp multisites时,它很快搞砸了。 是否有可用的解决方案删除自动/ sites / {id} /文件夹结构?

我可以在网站设置中调整site-upload-dir,但它总是通过媒体管理器将“/ sites / {id} /”添加到上传的文件中。

是否有可用的代码段删除/禁用这些额外的文件夹结构?

1 个答案:

答案 0 :(得分:1)

首先,我最终更改了wp-includes/functions.php中的核心,以禁止添加:

if ( defined( 'MULTISITE' ) )
  $ms_dir = '/sites/' . get_current_blog_id();
else
  $ms_dir = '/' . get_current_blog_id();

在我的hack的下面一行:

$ms_dir = '';

但是过了一会儿,我发现了这个solution,可以在其中使用钩子。示例:

add_filter( 'upload_dir', 'same_upload_dir' );
function same_upload_dir( array $uploads ) {
    $baseurl = WP_CONTENT_URL . '/uploads';
    $basedir = ABSPATH . 'wp-content/uploads';
    $subdir = $uploads['subdir'];

    return array(
        'path'    => $basedir . $subdir,
        'url'     => $baseurl . $subdir,
        'subdir'  => $subdir,
        'basedir' => $basedir,
        'baseurl' => $baseurl,
        'error'   => false,
    );

}