当使用 wp 多站点时,它会很快搞砸。是否有任何解决方案可以删除自动 /sites/{id}/ 文件夹结构?
我可以在站点设置中调整站点上传目录,但它总是通过媒体管理器将“/sites/{id}/”添加到上传的文件中。
是否有任何可用的片段可以删除/禁用这些额外的文件夹结构?
首先,我最终更改了核心wp-includes/functions.php
以禁用添加:
if ( defined( 'MULTISITE' ) )
$ms_dir = '/sites/' . get_current_blog_id();
else
$ms_dir = '/' . get_current_blog_id();
在我的hack下面的一行:
$ms_dir = '';
但过了一会儿,我发现了这个可以使用钩子的解决方案。例子:
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,
);
}