Woocommerce价格文本

时间:2015-10-20 13:40:46

标签: php wordpress filter woocommerce price

我正在尝试根据不同的状态更改价格的显示方式。 目标是,如果产品“缺货”卖出而不是价格,那么,如果价格为空 POA 而不是价格。

如果没有检查上述任何一项,则显示为正常价格。

我在检查了改变价格标签的方法后设法做到了这一点:

add_filter( 'woocommerce_get_price_html', 'wpa83367_price_html', 100, 2 );
function wpa83368_price_html( $price,$product ){
 // return $product->price;
    if(!$product->is_in_stock()){
      return 'SOLD';
    } else {
    if ( !$product->price > 0 ) {
      return 'POA';
    } else {
      return $price;
    }
  }
}

这不起作用。价格消失了。我知道这里有些错误,我知道这种方法可能不正确。有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

你总是需要归还一些东西。我有时会这样做,但总的来说我试图避免多个return语句,它可能会让人很难知道出错的地方。

您在功能名称中存在复制/粘贴差异。如果您在WP_DEBUG启用的情况下开发,您会看到。

修订功能:

add_filter( 'woocommerce_get_price_html', 'wpa83367_price_html', 100, 2 );
function wpa83367_price_html( $price,$product ){
    if(!$product->is_in_stock()){
        $price = 'SOLD';
    } else if ( !$product->price > 0 ) {
        $price = 'POA';
    } 
    return $price;
}