禁用WordPress多站点修改媒体URL

时间:2019-05-17 20:20:25

标签: wordpress multisite

我正在使用DigitalOcean Spaces存储我的静态资产。一切正常,我的媒体库网址指向我的Spaces(例如foobar.sgp1.digitaloceanspaces.com)。

当我安装多站点时,问题就开始了,因为默认的WordPress行为是将“ sites / xxx”添加到所有子站点的媒体URL(例如foobar.sgp1.digitaloceanspaces.com/sites/2)。当然,哪个资产不存在,也找不到。

我找到了此链接:

https://wordpress.stackexchange.com/questions/307530/remove-multisite-part-from-wordpress-multisite-upload-directory

哪个给了我一个主意。

我已经在functions.php上尝试过

df1 = df1.to_frame('action').reset_index()
print(df1)
   session_uuid              action
0             1  [action3, action4]
1             2  [action3, action4]

但是它不起作用。

如果有一个从网址中删除“ sites / 2 /”的钩子,或任何其他禁用此功能的方法,我欢迎您提出建议。

谢谢。

1 个答案:

答案 0 :(得分:0)

在这里找到解决方案:

wordpress multisite remove /sites/{ID}/ automatic upload url

这是工作代码:

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,
    );
}