如何用产品从数据库中删除图像

时间:2017-11-23 作者:Zhi V

我使用WooCommerce REST API来更新/创建/删除产品。当我尝试使用删除产品时$woocommerce->post(\'products/batch\'), 与产品连接的映像没有从DB和文件系统中删除。它会占用服务器上不必要的空间。

解决此问题的最佳方法是什么?

2 个回复
SO网友:Mustafa Ahmed

我会先拿到attachment ID 以及您可以使用的附件IDwp_delete_attachment($att_id)

SO网友:Owais Alam

you can try this

$all_posts = get_posts(array(
    \'numberposts\' => - 1,
    \'post_status\' => \'any\',
    \'post_type\' => get_post_types(\'\', \'names\') ,
));

foreach($all_posts as $all_post) {
    delete_post_media($all_post->ID);
}

function delete_post_media($post_id)
{
    if (!isset($post_id)) return;
    elseif ($post_id == 0) return;
    elseif (is_array($post_id)) return;
    else {
            $attachments = get_posts(array(
                    \'post_type\' => \'attachment\',
                    \'posts_per_page\' => - 1,
                    \'post_status\' => \'any\',
                    \'post_parent\' => $post_id
            ));
            foreach($attachments as $attachment) {
                    if (false === wp_delete_attachment($attachment->ID)) {

                            // Log failure to delete attachment.

                    }
            }
    }
}
结束

相关推荐

Issue uploading images

我从来没有遇到过图像问题,但现在新上传的图像突然显示出损坏的图像图标,当我继续插入它时,我在帖子中看到了损坏的图像。以下是屏幕截图:Issue details:1) 前端上的图像不显示为内联图像,它们仅显示为附件。2) 此问题仅在主站点上存在,所有子站点上的图像都可以正常工作I tried to resolve the issue by doing following things with no success:1) 切换回默认主题2)禁用所有插件以查看if3)试图重置永久链接时出现冲突有人能帮忙吗?P