Woocommerce价格文字

问题描述:

我试图根据不同的状态对价格出现的方式进行更改。 的目的是,如果产品是“缺货”出售出现而不是价格,那么,如果价格为空POA出现,而不是价格。Woocommerce价格文字

如果以上均未选中,则会按照正常情况显示价格。

我管理检查办法改变价格标签后,使这个:

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

这可能只是上面一个错字,但回调使用(wpa83367_price_html)不符合实际的函数名(wpa83368_price_html)。 – Dre

你总是需要返回一些东西。我有时会这样做,但总的来说,我尽量避免使用多个返回语句,这可能会使得很难知道事情出错的地方。

而且你在函数名中有一个复制/粘贴差异。你会看到,如果你使用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; 
} 
+0

完美@helgatheviking !!!有效。 –