【问题标题】:filter products by attribute and hide out of stock items of variable products按属性过滤产品并隐藏可变产品的缺货项目
【发布时间】:2020-03-08 11:26:02
【问题描述】:

我想为可变产品按属性进行过滤,但问题是过滤器显示缺货产品,我必须隐藏检查的缺货产品,但这并没有解决问题,谢谢前进

【问题讨论】:

  • 我也有同样的问题。请告诉我您是如何找到解决方案的。
  • -@Jafer.balti 我通过在 Woof 插件中添加扩展名(instock 扩展名)解决了这个问题,然后将其分配给 instock 并使用向客户显示的 css 从前端隐藏它,所以它只显示库存

标签: php wordpress woocommerce


【解决方案1】:

这是标准的 woocommerce 功能,它会在商店页面、woocommerce 小部件中随处显示“缺货”产品。

仅在单件产品上显示“缺货”而不是“添加到购物车”。

  1. 转到Woocommerce → Settings 并单击产品标签

  2. 点击顶部的Inventory link

  3. 选中“缺货可见性”选项以隐藏缺货商品

如果上面的选项已经被选中。请在当前主题的 functions.php 文件中尝试以下代码

function check_variation_is_active( $active, $variation ) {
  if( ! $variation->is_in_stock() ) {
     return false;
  }
  return $active;
}
add_filter( 'woocommerce_variation_is_active','check_variation_is_active', 10, 2 );

希望对你有所帮助。 谢谢

【讨论】:

  • 感谢您的评论,但是已经勾选了,缺货商品不显示在店铺页面,但是在按属性过滤时显示。
  • @bayanelshiwy 我已经编辑了我的答案,请检查第二种方法。
  • 感谢您的评论,但它没有用,我读到的问题是,当按变量产品的属性过滤时,它搜索父产品而不是变体(有库存或无库存),所以如果父产品有库存,它就会显示出来
  • @bayanelshiwy,您能否检查一下上面的代码,因为我已经修改了变化。它将隐藏缺货的变化选项。谢谢。
【解决方案2】:

我正在使用WOOF产品过滤器插件,所以我发现我需要将此代码放在functions.php中才能获得库存产品过滤器

add_filter('woof_get_request_data', 'my_woof_get_request_data');

function my_woof_get_request_data($data){
    $data['stock']='instock';
    return $data;
}

【讨论】:

    猜你喜欢
    • 2021-06-13
    • 2014-08-20
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 2019-09-27
    相关资源
    最近更新 更多