Я пытаюсь восстановить файл PDF каждый раз, когда запись сохраняется / обновляется. Имя файла PDF изменяется в соответствии с данными post_meta, поэтому я хочу удалить существующее вложение PDF и файл с сервера при сохранении / обновлении сообщения, прежде чем файл PDF будет регенерирован и прикреплен.
wp_delete_attachment () удаляет вложение в порядке, но файл остается на сервере даже после принудительного удаления.
Я также попытался wp_delete_file_from_directory ($ file, $ path); Возвращает true для удаления файла, но файл остается на сервере. То же самое для wp_delete_file ();
Единственное, что, казалось, работало, это unlink (), но это создает другую проблему, потому что в случае, если имя файла не меняется, unlink (), кажется, ставит остановку создать файл с тем же именем.
wp_update_post( $my_post );
if(get_post_status( $post_id ) == "publish"):
$existing_PDFs = get_attached_media('application/pdf', $post_id);
foreach($existing_PDFs as $pdf):
$file = get_attached_file($pdf->ID, true);
$path = pathinfo($file, PATHINFO_DIRNAME);
wp_delete_file_from_directory( $file, $path);
wp_delete_file( $file );
wp_delete_attachment($pdf->ID, true);
endforeach;
include('generate-single-machine-pdf.php');
endif;
В чем секрет, чтобы Wordpress удалял файл с сервера вместе с вложением?