Есть необходимость удалить миниатюру у поста (и все ее упоминания в БД), но не удалять физический файл (т.к. он может использоваться сразу в нескольких постах). Как мне это сделать? Функция wp_delete_attachment удаляет вместе с файлом, и на других постах, где эта же картинка используется - она становится битой. Текущий код такой:
// Удаляю медиафайл
$post = get_post( $post_id );
$attachments_del = get_children( array( 'post_type'=>'attachment', 'post_parent'=>$post_id ) );
if( $attachments_del ) {
foreach( $attachments_del as $attachment_del ) wp_delete_attachment( $attachment_del->ID );
}
// Удаляю миниатюру у поста
set_post_thumbnail( $post_id, $attachment_del->ID );
Есть идея каким-то образом блокировать на время действия функции wp_delete_attachment средствами PHP физическое удаление файла, но мне это видится диким костылем.