虽然现在的主机和云服务器价格比起以前要优惠了很多,但是我们不管是个人建站还是企业建站用户,还是应该尽量节约服务器空间。除了视频类网站,一般来说占用网站空间比较多的就是图片资源了,有时候由于网站调整等原因我们会删除一些文章,那么这些被删除文章的图片如果能够同时删除就可以节约大量的网站空间,今天就来分享一段代码,可以在WordPress删除文章同时删除图片!
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');
注意事项:
1、如果一张图片被很多文章所引用,请谨慎使用该代码;我们知道有的网站会多篇文章同时调用一张图片,那么这种情况下使用此“WordPress删除文章同时删除文章图片”的代码,就可能造成其他文章图片打不开,影响文章的效果。
2、操作之前请备份好网站数据。