2015-10-20 131 views
0

我試圖根據不同的狀態對價格出現的方式進行更改。 的目的是,如果產品是「缺貨」出售出現而不是價格,那麼,如果價格爲空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

回答

0

你總是需要返回一些東西。我有時會這樣做,但總的來說,我儘量避免使用多個返回語句,這可能會使得很難知道事情出錯的地方。

而且你在函數名中有一個複製/粘貼差異。你會看到,如果你使用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 !!!有效。 –