如何解决WooCommerce:按属性过滤产品并在变体缺货时隐藏产品
我使用内置的 WooCommerce 按属性小部件过滤器来满足我的需要,但我的问题是,如果我过滤某个尺寸,我会将所有具有该尺寸的产品作为一个属性,即使它们不在股票...
我的产品是作为大小和颜色变化的可变产品创建的
我想要的是过滤一个尺寸,只显示有库存的那个尺寸的产品。
解决方法
它可能无法用于可变产品及其变体(但仅适用于其他产品类型)。
当库存管理由产品变体本身(而不是变体)处理时,它仅适用于可变产品。
请注意,WooCommerce 产品查询不处理帖子类型“product_variation”,而只处理帖子类型“product”。
要使用小部件过滤器(可变产品除外)排除缺货产品,您可以使用:
add_filter( 'woocommerce_product_query_tax_query','filter_product_query_tax_query' );
function filter_product_query_tax_query( $tax_query ){
if ( ! is_admin() && isset($_GET['filter_color']) && ! empty($_GET['filter_color']) ) {
// Exclude products "out of stock"
$tax_query[] = array(
'taxonomy' => 'product_visibility','field' => 'name','terms' => array('outofstock'),'operator' => 'NOT IN'
);
}
return $tax_query;
}
代码位于活动子主题(或活动主题)的functions.php 文件中。经测试有效。
,您可以通过在设置页面上勾选“缺货可见性”选项来隐藏缺货产品:
Woocommerce > 设置 > 产品 > 库存
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。