WordPress删除文章时自动删除文章中的图片附件缩略图

如果我们网站有在使用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');

看下演示图,发布一篇文章,文章中带有4张图,进入媒体库可以看到4张图片。

WordPress删除文章时自动删除文章中的图片附件缩略图

媒体库显示图片上传到的文章。

WordPress删除文章时自动删除文章中的图片附件缩略图

现在将文章进行删除,WordPress是将图片放到回收站,如果要彻底删除,只能进入回收站删除,

WordPress删除文章时自动删除文章中的图片附件缩略图

如果将文章移到回收站,图片是不会删除的,必须进入回收站把文章彻底删除,文章中的图片才会一起删除

WordPress删除文章时自动删除文章中的图片附件缩略图

从回收站把文章永久删除后,媒体库里的图片已经一起被删除了

该功能已经整合到QQWord收藏家插件中,请查看插件介绍

WordPress删除文章时自动删除文章中的图片附件缩略图

至此,文章结束

给TA打赏
共{{data.count}}人
人已打赏
WP笔记

WordPress本地采集后同步到线上网站

2020-4-24 20:33:00

WP笔记

WordPress分类目录和页面添加斜杠

2020-4-29 23:20:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索