附加图像的自定义位置

时间:2019-11-27 作者:Nik

我设法从安装博客(WordPress)的地方上传了图像,我想知道如何更新默认的附加图像路径。

少数事实:

主网站安装在docker上。main.com博客):main.com/blog

  • 在单独的docker上有一个子域,我在其中保存博客/wp内容:media.main.comDocker/doc/media.main.com/blog/filesdata

    /** upload directory to be outside wp-content */
    define( \'UPLOADS\', \'/media/blog/files\' ); // where docker is mounted
    
    /** new name for wp-content */
    define( \'WP_CONTENT_DIR\', \'/media/blog/data\' ); // where docker is mounted
    define( \'WP_CONTENT_URL\', \'https://media.main.com/blog/data\' );
    
    我已经在博客函数中添加了以下代码。php

    if (defined(\'UPLOADS\')) {
        if (is_dir(UPLOADS)) {
            function files_dir($upload_dir){ 
    
                $upload_dir[\'path\']    = str_replace( $upload_dir[\'basedir\'], UPLOADS, $upload_dir[\'path\'] );
                $upload_dir[\'basedir\'] = UPLOADS;
                return $upload_dir;
            }
            add_filter(\'upload_dir\', \'files_dir\');
            } else {
            error_log(\'UPLOADS is defined but does not exist: \' . UPLOADS);
        }
    }
    
    In summary: 我只是不知道我怎么能https://media.main.com/blog/files/image.jpg 作为博客中的附加图像路径,编辑媒体页面,而不是:https://main.com/blog//media/blog/files/image.jpg (此处没有输入错误// 是我得到的)

    ps.0: https://media.main.com/blog/files/image.jpg 如果我手动将其键入地址栏,则可以访问,但这不是WordPress(博客)认为的URL,因此我最终会在WordPress上损坏图像,除非我手动更新它们

    **Picture_1**: what I see in edit media page as attached image path

    **Picture_2**: What I see in edit media page as attached image

  • 1 个回复
    SO网友:clayRay

    我会尝试在wp配置中更改您的行。php收件人

    define( \'UPLOADS\', \'media/blog/files\' ); // where docker is mounted
    
    即,去掉第一个/。

    让我知道这是否有效。

    编辑

    如果不能更改上传的定义,可以用代码去掉正斜杠。尝试将您的代码更改为。。。

    $upload_dir[\'path\'] = str_replace( $upload_dir[\'basedir\'], ltrim( UPLOADS, \'/\'), upload_dir[\'path\'] );