Заменить картинки через WP CLI - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть мультисайт, в котором более 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 не предлагать, потому что шаблоны используют множество различных функций для отображения изображений, и большинство из них являются пользовательскими.

1 Ответ

0 голосов
/ 18 февраля 2020

Разве вы не можете просто иметь пустой каталог для загрузки? Сайт все еще будет работать, но вы увидите общий значок c для отсутствующих изображений, когда страница появится.

...