Как удалить все изображения во всех постах?

Какой запрос к базе данных выполнить чтобы удалить все что внутри <img></img>
Для начала нужно удалить именно упоминания картинок, а не сами файлы изображений из uploads.


$posts = get_posts( array(
    'numberposts' => -1,
    'category'    => 0,
    'orderby'     => 'date',
    'order'       => 'DESC',
    'post_type'   => array('post', 'page'),
    'post_status' => array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash'),
    'suppress_filters' => true,
) );

foreach( $posts as $pst ){
    $content = get_the_content($pst->ID);
    $content = preg_replace("/<img[^>]+\>/i", "", $content);

    $upd_post = array();
    $upd_post['ID'] = $pst->ID;
    $upd_post['post_content'] = $content;

    wp_update_post( $upd_post );
}

я так понимаю это php
мне бы через wp-cli или mysql
на сайте около 80 тыс. постов


wp search-replace '<img[^>]+\>' '' wp_posts --regex

Но прежде чем запускать код, сделайте резервный дамп БД, или протестируйте на резервном сайте. Но в целом посыл простой – обязательно сделайте резервный дамп

буду пробовать как забекаплю

Anonymous
Отправить
Ответ на: