Массово удаляем миниатюры постов в WordPress

Недавно один из наших читателей интересовался, возможно ли массово убрать миниатюры из записей в WordPress? Мы уже обсуждали миниатюры на блоге множество раз. Мы показывали как пересоздать миниатюры с новым размером, как добавить несколько миниатюр к записи. В этой статье мы покажем как массово удалить миниатюры из записей в WordPress.

Проблема с массовым удалением миниатюр записей

К сожалению, по-умолчанию вы можете убрать миниатюру только лишь редактируя каждую запись и удаляя заданную ранее миниатюру. Проблема начинается тогда, когда у вас сотни записей, и времени на редактирование каждой будет потрачено уйма. Вместо этого мы испробуем другой способ. Мы выполним запрос к базе данных и уберем миниатюры у всех записей.

Прежде чем вы начнете, учтите, что код ниже уберет все миниатюры у записей на всем сайте. Также учтите, что код НЕ УДАЛЯЕТ ни одного загруженного изображения, они все останутся в Медиабиблиотеке и вы сможете их использовать в любое время в последующем.

Все, что нужно сделать, это скопировать и вставить этот код в файл functions.php вашей темы:

global $wpdb;

$attachments = $wpdb->get_results( "
     SELECT * 
     FROM $wpdb->postmeta 
     WHERE meta_key = '_thumbnail_id'
" );

foreach ( $attachments as $attachment ) {
    wp_delete_attachment( $attachment->meta_value, true );
}

$wpdb->query( "
    DELETE FROM $wpdb->postmeta 
    WHERE meta_key = '_thumbnail_id'
" );

Вот и все. Как только вы сохраните и зальете файл functions.php на хостинг, скрипт выполнит запрос к базе данных и уберет миниатюры у всех записей.

Важно: Не забудьте убрать этот код сразу после того, как он справится со своей задачей, иначе вы не сможете снова добавлять миниатюры, так как скрипт будет снова и снова их удалять!

Надеемся, что статья помогла вам сохранить ваше время и позволила массово убрать миниатюры из записей WordPress.

Источник: Kaiser

VN:F [1.9.22_1171]
Rating: 3.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Сергей

    Ваш код удалил все загруженные изображения вместе с миниатюрами.

  • http://trip-together.ru/ Shikova Elena

    Ваш метод сносит все картинки только из базы данных, а сервера надо отдельным рейсом удалять файлы? И вообще какой смысл удалять только с базы данных, снеся файлы с сервера можно гораздо больше места освободить.

    • ADv

      В этом его предназначение. Миниатюру записи по дефолту можно удалить, только если перейти в редактирование нужной записи и нажать на соответствующую ссылку. Вышеприведенный запрос облегчает эту задачу. Речь не идет о файлах на сервере, если запрос выполняется к базе данных.

Scroll To Top