wordpress删除文章同时清除文章中的图片和附件

wordpress删除文章同时清除文章中的图片和附件-狐狸库
wordpress

WP更新文章,有时候需要上传一些图片和附件来插入到文章中。

因为每一篇文章都可能有配图,所以最终服务器资源受不了。

我个人就用上了压缩插件,将图片压缩在插入。

文章《优化图像减少页面加载的6种方法》中的 tinypng 插件就是我个人使用的一款插件(可以在商店中搜索配置)。

当然也可以使用软件先批量压缩。

压缩工具:

批量图片压缩小工具(多格式:PNG,JPG,webp…)

睿思图片压缩工具(自由设定压缩比例 支持批量压缩)


但是一旦删除一篇文章,文章中的图片是不会被删除依然保留在媒体库中。

今天这个方法就是可以让你在删除文章的时候,同时删除这篇文章中的图片与附件。

方法

只需将下面的 PHP 代码加入到主题目录下的 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\');
//删除文章时删除图片附件结束
温馨提示:本文最后更新于2022/10/20 04:09:37若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
喜欢本文内容,请点击【点赞】【分享】【收藏】
点赞0赞赏分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容