У меня есть мультисайт, в котором более 100 сайтов. Я хочу поднять сайт для разработки. Картинки решили не загружать, потому что они занимают слишком много места. Я хочу заменить изображения на заполнитель с помощью консоли:
wp search-replace "prod-image.jpg" "placeholder.jpg" wp_312_post* --network
После этого я удаляю все размеры изображений frow DB
$images = $wpdb->get_results(
'SELECT pm.post_id, pm.meta_value FROM ' . $wpdb->posts . ' as p
LEFT JOIN ' . $wpdb->postmeta . ' as pm ON p.ID = pm.post_id
WHERE p.post_type = "attachment"
AND pm.meta_key = "_wp_attachment_metadata"'
);
foreach ( $images as $key => $image ) {
$image_meta = unserialize( $image->meta_value );
$image_meta['sizes'] = [];
update_post_meta( $image->post_id, '_wp_attachment_metadata', $image_meta );
}
Это работает, но для этого мне нужно знать все имена изображений. Этот процесс занимает слишком много времени. У кого-нибудь есть идеи, как ускорить миграцию?
PS Заменить через хук WordPress не предлагать, потому что шаблоны используют множество различных функций для отображения изображений, и большинство из них являются пользовательскими.