Warning: Undefined variable $ver in /var/www/u3186481/data/www/odminstudios.ru/wp-content/themes/sensitive/functions.php on line 257

Warning: Undefined variable $ver in /var/www/u3186481/data/www/odminstudios.ru/wp-content/themes/sensitive/functions.php on line 258
Авто-обновляем WordPress до не самой последней версии | Odminstudios

Авто-обновляем WordPress до не самой последней версии


Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/u3186481/data/www/odminstudios.ru/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/u3186481/data/www/odminstudios.ru/wp-content/plugins/wp-syntax/wp-syntax.php on line 383

Нужно было обновить сайт имея нормальный доступ только к админке. На хостинге была установлена не очень актуальная версия PHP. Поэтому последние версии WordPress поставить не получалось. Через ftp связь была крайне нестабильной, файл на 8кб удалось закачать почти за два часа.

Встроенная автообновлялка умеет брать только самую последнюю версию.
Подозреваю, что все же как-то можно заставить их репозиторий отдать нужную версию, но никакой документации по api.wordpress в интернете не нашел.
В общем решил не усложнять, сделал просто и тупо:
в файле wp-admin/includes/file.php в функцию download_url() добавил строчку

url=str_replace('3.3.1-partial-0', '3.0.6', $url);

перед:

$response=wp_remote_get($url,array('timeout'=>$timeout,'stream'=>true,'filename'=>$tmpfname));

Соответственно 3.0.6 — версия, до которой нужно обновиться.
3.3.1-partial-0 — имя дистрибутива файла последней версии.

Автор: dimas