我正在尝试根据不同的状态更改价格的显示方式。 目标是,如果产品“缺货”卖出而不是价格,那么,如果价格为空 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;
}
}
}
这不起作用。价格消失了。我知道这里有些错误,我知道这种方法可能不正确。有人可以帮我这个吗?
答案 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;
}