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');
保存更新后,以后删除文章后就不用手工去媒体库寻找图片删除了,是不是很实用!
- wordpress的post.php任意文件删除漏洞临时修复方法
- WordPress发布文章后实时自动进行百度主动推送
- WordPress自动重命名媒体库图片文件名
- WordPress免插件自动更新sitemap.xml站点地图
- WordPress通过标签添加相关文章功能
- WordPress禁止HTTP_USER_AGENT恶意采集与攻击
- WordPress压缩html代码提升网页加载速度
- WordPress修改评论区模板Cookies提示文字并设置默认勾选状态
- 修改WordPress默认字体为微软雅黑
- WordPress头部代码优化:去除window._wpemojiSettings代码
本文标题:《WordPress删除文章时同步删除文章图片》
网址:https://zhangwenbao.com/wordpress-delete-article-pictures-when-deleting-articles.html