Бывают такие случаи, когда пользователям необходимо удалить миниаютюры, которые присутствутю во всех записей Вашего WordPress сайта. Я уже Вам рассказывал, как можно автоматически добавить миниатюры к постам WordPress, в этой статье мы рассмотрим, как им можно автоматически все удалить.
Согласитесь, что если Вы начнете вручную удалять все миниатюры с Ваших постов, то Вы потратите огромное количество времени (все будет зависеть от количества постов). Но по умолчанию, в WordPress доступен только ручной метод удаления. Мы воспользуемся очень простым методом, при помощи которого сделаем запрос к базе данных и удалим все миниатюры.
Хочется немного пояснить. Что данный метод (программный код), который мы рассмотрим в данной статье, удалит лишь миниатюры к записям, а все прикрепленные файлы и изображения в постах WordPress останутся на месте.
Поэтому, скачиваем файл functions.php с FTP, либо же открываем его для редактирования в консоли администратора WordPress, а затем вставляем в него следующий код:
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'
" );
Все, сохраняете его и заменяете на сервере. После сохранения, к Вашей базе данных будет осуществлен запрос и произойдет удаление всех миниатюр.
После выполнения данного кода, Вам его необходимо удалить из файла, так как, если Вы начнете добавлять миниатюры к новым или уже существующим записям, то он постоянно будет его удалять.
Также советуем почитать на PressDev.RU
Короткая ссылка: http://pressdev.ru/?p=4755