您所在位置:
在 WooCommerce 中,拥有一个条理清晰的产品目录对用户体验和转化率至关重要。但是,有些店主可能会忘记为产品添加特色图片,导致出现空的占位符,使店铺看起来不完整或不专业。
如果要确保只显示有特色图片的产品,就需要一种自动隐藏无特色图片产品的方法。
无需手动检查和更新每个产品,您可以使用一个简单的 PHP 代码段,将缺少特色图片的产品排除在商店、分类和搜索页面之外。这种方法既能使您的商店看起来光鲜亮丽,又能防止顾客看到空白的产品缩略图。最棒的是什么?只需几行代码即可实现。
下面,我将向你展示如何将该代码段添加到主题的 functions.php 文件或自定义插件中,确保只有正确设置的产品才会出现在你的 WooCommerce 商店中。

PHP 代码段: 排除缺少精选图片的产品 @ WooCommerce 商店页面/分类页面/搜索结果/存档
这段 PHP 代码会自动从标准商店和分类页面中隐藏没有特色图片的 WooCommerce 产品。
为此,它将一个自定义函数(bbloomer_hide_products_no_feat_image)挂接到 WooCommerce 的主要产品查询过程(woocommerce_product_query 操作)中。
该函数会在查询运行前拦截查询并修改其参数。具体来说,它添加了一个元查询条件,要求 _thumbnail_id 元键(存储特色图片的 ID)必须存在,产品才能包含在查询结果中。
这就有效地从默认产品列表中过滤掉了任何没有指定特色图片的产品。
add_action( 'woocommerce_product_query', 'bbloomer_hide_products_no_feat_image' ); function bbloomer_hide_products_no_feat_image( $query ) { $meta_query = $query->get( 'meta_query' ); $meta_query[] = [ 'key' => '_thumbnail_id', 'compare' => 'EXISTS', ]; $query->set( 'meta_query', $meta_query ); }