Я только что создал плагин, который делает это. Это не идеально, но оно делает свою работу.
Вы можете найти его в моем Github: https://github.com/pontusab/wp-ftp-media-library
Поэтому вам нужно изменить некоторые вещи в файле в строке 28:
/**
* Change this to match your server
* You only need to change the those with (*)
* If marked with (-) its optional
*/
$settings = array(
'host' => 'ip or hostname', // * the ftp-server hostname
'user' => 'username', // * ftp-user
'pass' => 'password', // * ftp-password
'cdn' => 'cdn.example.com', // * This have to be a pointed domain or subdomain to the root of the uploads
'path' => '/', // - ftp-path, default is root (/). Change here and add the dir on the ftp-server,
'base' => $upload_dir['basedir'] // Basedir on local
);
Что этот плагин делает, он изменяет Структуры загрузки с / года / месяц для загрузки только на локальном компьютере в нашем случае сервер A . Затем он использует php для подключения к ftp через: ftp_connect . Функция запускается при запуске wp_generate_attachment_metadata. Затем он запускает проверку в папке загрузки, чтобы увидеть, есть ли какие-либо изображения , и если это так, он загрузит их все на ftp-сервер через ftp_put . Когда загрузка будет завершена, файлы будут удалены с локального компьютера с помощью функции unlink .
Затем плагин изменяет URL изображений на «общедоступный» ip или имя хоста, указывающее на ftp-сервер. Я предлагаю использовать что-то вроде static.mydomain.com или cdn.mydomai.com. Их нужно указать на ftp-сервер (сервер B), это позволяет загружать образы с ftp-сервера.
Как говорят другие участники, вы должны использовать для этого ftp-сервер, лучше с настоящим cdn, монтируемым предохранителем или чем-то вроде Amazon S3.