WP-Zibi主题增加删除文章和论坛帖子时删除引用的附件

长期运营一个网站的话还是很需要关注空间的使用情况的,特别是WP系统网站,因为一些原因没有办法删除文章时自动清理附件,如果用户量大的话,会导致一些不必要的空间占用

以下为优化代码

删除文章时删除文章所引用的附件,此代码放在主题文件的functions.php里,但是最好创建一个func.php的文件,然后放在func.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');

以下为删除帖子时自动删除附件的修改代码

给TA打赏
共{{data.count}}人
人已打赏
未分类技术

WP-B2主题自带代码高亮功能增强增加复制按钮,支持隐藏内容

2025-9-20 10:11:20

未分类技术

CF+Workers使用B2的私有储存桶

2025-9-20 12:50:13