如果产品脱销,则添加自定义正文标签

时间:2018-09-14 作者:Rob

我一直在寻找这个问题,但我还没有找到解决办法。

我已经找到了通过函数添加自定义类的方法,但似乎无法通过woocommerce实现,即在产品缺货时在单个产品页面上添加自定义类。

任何指点都将不胜感激。

2 个回复
最合适的回答,由SO网友:Andrea Somovigo 整理而成
add_filter(\'body_class\', \'SE_314220_custom_outofstock_class\');

 function SE_314220_custom_outofstock_class ($classes) {

  global $post;
  if($post->post_type !="product")
    return $classes;
  $product = wc_get_product( $post->ID );
  if($product->get_stock_quantity() ==0)
    $classes[] = \'OUT-OF-STOCK\';
  return $classes;
}
SO网友:Mego

我已经更新了@Adnrea Somovigo的代码并对其进行了自定义,以便根据stock\\u状态而不是stock\\u数量显示body类。因此,这也适用于库存、延期交货和缺货状态。

库存数量不是正确的参数,因为延期交货产品的数量可能为负数(例如,库存中有6件),0件的产品可能缺货或延期交货。

add_filter(\'body_class\', \'lava_stock_class\');

 function lava_stock_class($classes) {
    global $post;
    if($post->post_type !="product")
        return $classes;
    $product = wc_get_product( $post->ID );
    if($product->get_stock_status() == \'outofstock\') {
        $classes[] = \'outofstock\';
    } elseif($product->get_stock_status() == \'onbackorder\') {
        $classes[] = \'onbackorder\';
    } else {
        $classes[] = \'instock\';
    }

    return $classes;  
}

结束

相关推荐