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'); 
/* 删除文章时删除图片附件over */

注意事项

当你在删除文章时先执行函数内容,删除特色图片以及图片附件,但是如果在使用 action delete_post 而不是 before_delete_post 将导致删除文章后因媒体附件与文章关联已取消而无法正确删除。

以上就是今天分享的“wordpress删除文章时自动删除相关图片附件教程”全部内容了,由于自己建站的时候发现了这个教程,感觉很有用,所以记录下来,有需要的朋友可以继续关注本站哦。

赞(0)
如有侵权请联系我,未经允许不得转载:降温资源网 » wordpress删除文章时自动删除相关图片附件教程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址