标签:删除 缩略图 图片附件 attachment 文章 post delete
最近很多小伙伴在问我WordPress删除文章时,文章内所上传到媒体库的图片等附件不会自动删除,
占用了网站空间(虽然本人用的是vps,但是还是有很多人用了虚拟主机,空间有限),
因此下面说明通过几行代码的简单方式实现在删除文章时自动删除缩略图以及图片附件,
这样就不用手动去媒体库寻找并删除,准确而且效率高。
代码如下:
/**
* WordPress删除文章同时同时删除缩略图及图片附件的方法
* https://www.admin17.cn
*/
$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');
将上述代码放到主题 functions 文件中即可使用,
其在删除文章时先执行函数内容,删除特色图片以及图片附件,
如果在使用action delete_post而不是before_delete_post
将导致删除文章后因媒体附件与文章关联已取消而无法正确删除。
文章转自:https://www.admin17.cn/2868.html
标签:删除,缩略图,图片附件,attachment,文章,post,delete 来源: https://www.cnblogs.com/sunlinsong/p/16193141.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。