WooCommerce中删除产品时如何自动删除图像
当您使用 WooCommerce 运行多供应商市场或电子商务商店时,您将上传大量图片的产品。当您上传大量产品后,肯定也会由于某些原因删除大量产品。在检查媒体库时删除每个产品后,您会看到所有用于已删除产品的图像
WordPress 不会在删除帖子时删除媒体,因为媒体库旨在将图像/文件重复用于一个或多个帖子。
在这种情况下,如果用户/供应商删除任何产品,他们中的大多数人会喜欢删除所有特色图片和画廊图片。但如果出于某种原因您决定删除该产品,则这些图片是仍然存在,即使您不再需要它们。这在在线商店的情况下尤其令人担忧,因为图像与产品相关联并且大多数时候不可重复使用。
这里有一种方法可以确保当您删除产品或其他内容时,附加的图像会自动删除。本文晓得博客为你介绍WooCommerce中删除产品时如何自动删除图像。
推荐:BetterLinks Pro插件WordPress缩短链接跟踪分析插件
删除内容时删除特色图像的方法
当您删除帖子时,它们的附件不会自动删除。他们一直留在 WordPress 媒体库和您的网络服务器上,使用以下代码,在删除商品等时只删除特色图片。
/* Delete featured image when you delete the post */
add_action( 'trashed_post', 'xiaoblog_delete_featured_image_with_product', 20, 1 );
function xiaoblog_delete_featured_image_with_product( $post_id ) {
$post_type = get_post_type( $post_id );
if ( $post_type != 'product' ) {
return true;
}
$post_thumbnail_id = get_post_thumbnail_id( $post_id );
wp_delete_attachment( $post_thumbnail_id, true );
}
推荐:YITH WooCommerce Stripe Premium插件WordPress付款插件
删除内容时删除图片库和特色图片
当您删除帖子时,它们的附件不会自动删除。他们一直留在 WordPress 媒体库和您的网络服务器上,如果您还想删除附加到内容的附加图像,那么代码将是这个:
/* Delete the image gallery and the featured image when you delete the post */
add_action( 'trashed_post', 'xiaoblog_delete_featured_image_gallery_with_product', 20, 1 );
function xiaoblog_delete_featured_image_gallery_with_product( $post_id ) {
$post_type = get_post_type( $post_id );
if ( $post_type != 'product' ) {
return true;
}
$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$gallery_images = get_field('gallery', $post_id);
foreach ($gallery_images as $gallery_image) {
$gallery_id = $gallery_image['id'];
wp_delete_attachment( $gallery_id, true );
}
wp_delete_attachment( $post_thumbnail_id, true );
}
推荐:XT Floating Cart Pro For WooCommerce Pro下载
如何使用此自定义代码
如果你想使用这些代码之一,你必须将它添加到你的自定义插件中,或者,如果失败,在functions.php文件中。在示例中,选择的内容类型是产品,但您可以自定义它以作用于其他类型的内容,例如帖子、页面等。
对于图像库,自定义字段是 WordPress 库的标准 ( gallery),但如果它是您使用的另一个,例如通过插件,只需替换它。最终目标是当您将产品、类目、页面或其他任何东西删除到回收站时,与之相关的图像将一起伴随它。
总结
以上是晓得博客为你介绍的WooCommerce中删除产品时如何自动删除图像的全部内容,希望对你的WordPress建站有所帮助,如有问题,欢迎联系我们。
推荐:WP Adminify Pro插件WordPress仪表盘插件