每当保存/更新帖子时,我都在尝试重新生成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从服务器中删除文件以及附件的秘诀是什么?
翻过高山走不出你