WordPress删除文章自动删除附加图片或附件

文章最后更新时间:2025-09-09 23:09:04

20250916194431394-20250916194431100960

 

最近发现wordpress想要删除已经发布的文章后发现 文章的附件不会自动删除,如果文件较多还需要慢慢找,有些人嫌麻烦就不删了,那么程序占用会越来越大

今天发布一个删除文章后自动删除文章的上传附件代码,简单实用 (注意不管是前台删除还是后台删除,删除后都需要去后台所有文章-回收站删除,因为正常删除会保留到回收站)

将下方代码直接放入主题的 functions.php 文件即可实现

从此删除文章再也不需要在一个个找文件了

/*
 功能描述: 删除文章同时自动删除缩略图及图片附件
*/
function delete_post_and_attachments($post_ID) {
 global $wpdb;
 //删除特色图片
 $thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" );
 foreach ( $thumbnails as $thumbnail ) {
 wp_delete_attachment( $thumbnail->meta_value, true );
 }
 //删除图片附件
 $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" );
 foreach ( $attachments as $attachment ) {
 wp_delete_attachment( $attachment->ID, true );
 }
 $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" );
}
add_action('before_delete_post', 'delete_post_and_attachments');
© 版权声明
THE END
喜欢就支持一下吧
点赞0
评论 抢沙发

请登录后发表评论

    暂无评论内容