WordPress文章删除同时删除图片内容的解决方案

WordPress站点管理员通常会面临一个问题,即每次发布文章并添加图片时,WordPress都会根据日期自动创建相应日期的文件夹来存储这些图片。随着时间的推移,这些文件夹会不断增多,而每个站点的服务器配置也各不相同。如果您的服务器资源有限,这可能会导致问题,因为虽然您删除了文章,但却没有及时清理掉与之关联的图像文件,从而在磁盘上留下许多不必要的图像文件。

图片[1]-WordPress文章删除同时删除图片内容的解决方案-山海云端论坛

以下是我收集整理的一些代码片段,可帮助您在删除文章时同时删除WordPress中的图像特色和图像附件。您可以根据需要选择性地使用这些代码片段或全部使用。

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

使用方法: 只需将上述代码添加到主题的functions.php文件中即可。

注意事项: 请注意,在删除文章之前,该函数将首先执行,删除与文章关联的特色图片和图像附件。如果使用delete_post动作而不是before_delete_post,则可能会导致删除文章后无法正确删除媒体附件,因为文章与附件的关联已被解除。

通过使用上述代码,您可以确保在删除WordPress文章时,相关的特色图片和图像附件也会被同时删除,有效地清理了不必要的文件,提高了站点的整洁度和性能。

希望这个解决方案对您有所帮助,让您的WordPress站点更加高效和整洁。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容