При переносе сайта с зарубежного хостинга заметил, что страницы грузятся очень долго, хотя сервер более свежий.

Оказалось, что при встраивании видео с YouTube через embed или через плагин ACF 7 на стороне сервера делается запрос вида

А т.к. YouTube замедляется, то запрос падает по таймауту (5с) и отрисовка страницы идет очень долго. Удалить видео со страниц нет возможности, поэтому нужно было найти другое решение.

Просто удаление провайдеров из oembed и отключение embed_oembed_discover не помогает и если проследить по стеку вызовов — acf вызывает wp_oembed_get($url, $args), где в $args передаются только width и height. А нужно туда передать [‘discover’=> false].

Далее проследив по стеку вызовов выясняю, что нигде нет хуков, где можно было бы подменить аргумент discover, вплоть до момента самого запроса через WP_Http::request().

Благо, внутри request есть хук pre_http_request, через который можно перехватить запрос и в ответ прислать заглушку, что и решило вопрос.

Код для встраивания в код темы в файл functions.php


Когда работаете с WordPress Toolset плагином и создаете таксономии, то можете столкнуться с невозможностью поставить public параметр в false, что скрывает архив таксономии с сайта.


Резервная копия

Есть несколько путей — создание резервной копии всех Docker image образов в один архив, определенных образов в один архив или каждый образ в отдельный архив