对于使用WordPress建站的【de】朋友们知道【dào】,对于【yú】有些觉得过时【shí】了的文章或者自己觉得不喜欢了,想删除,但【dàn】在删【shān】除文章时,一般来说文【wén】章内所【suǒ】上传到【dào】媒体库的图片等附件不会【huì】自动删除。这【zhè】样长时间的积累,占用的资源【yuán】也不少【shǎo】。那如何在【zài】删除【chú】文章的【de】同时删除【chú】图片附件【jiàn】以及【jí】特色图像呢【ne】?以下【xià】的代码可以实现在删除文章时自动删【shān】除【chú】文【wén】章图【tú】片附件【jiàn】以及特色图片,这【zhè】样就【jiù】不【bú】用手动去媒体库寻找并【bìng】删除,准确【què】而且【qiě】效【xiào】率高。将代码放到当前主题functions.php文件中即可删除文章图【tú】片附件。
/* 删除文章时删除图片附件 /* ———————— */ 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');如果你【nǐ】喜欢折【shé】腾也可以【yǐ】试一试哦【ò】!不过建【jiàn】议最好先备份好自己原来【lái】的数据在【zài】试哦!
版权所有:深圳市网商在线科技有限公司