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