【问题标题】:Woocommerce Price TextWoocommerce 价格文本
【发布时间】:2016-01-19 05:00:15
【问题描述】:

我正在尝试根据不同的状态更改价格的显示方式。 目标是,如果产品“缺货”SOLD 出现而不是价格,那么,如果价格为空,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;
    }
  }
}

这不起作用。价格消失。我知道这里有问题,而且我知道这种方法可能不是正确的。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 这可能只是上面的一个错字,但是您使用的回调(wpa83367_price_html)与实际的函数名称(wpa83368_price_html)不匹配。

标签: php wordpress filter woocommerce price


【解决方案1】:

您总是需要退货。我有时会这样做,但总的来说,我会尽量避免使用多个 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;
}

【讨论】:

    猜你喜欢
    • 2021-12-08
    • 1970-01-01
    • 2014-05-04
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 2016-03-29
    • 2017-03-04
    相关资源
    最近更新 更多