从Woocommerce的产品页面库存显示中删除“可以补购”

时间:2018-08-20 19:51:48

标签: php wordpress woocommerce product stock

如果该产品有存货,那么在Woocommerce产品页面上显示“(可以补购)”文字对我来说是没有意义的,因为这毕竟使人迷惑!

我发现有代码可以更改该消息(如果缺货),但是找不到产品(如果有现货)如何删除该消息,并且在网上搜索了几个小时。

任何人都可以向我提供functions.php文件或其他地方所需的代码,以在全球范围内进行更改吗?

4 个答案:

答案 0 :(得分:1)

如果要显示库存数量等于或小于在“低库存阈值”上设置的值的产品,则显示“可以补购”文本:

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability, $product ) {

if( $product->get_stock_quantity () > get_option( 'woocommerce_notify_low_stock_amount' )) {
    $availability = str_replace('(can be backordered)', '', $availability);
 }
 return $availability;
}

答案 1 :(得分:0)

已更新

当产品有现货并且允许缺货(带有客户通知)时,以下代码将从产品可用性文本中删除“(可以缺货)”文本:

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability, $product ) {

    if( $product->backorders_require_notification() ) {
        $availability = str_replace('(can be backordered)', '', $availability);
    }
    return $availability;
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

答案 2 :(得分:0)

您忘记了翻译字符串。将会是:

$availability = str_replace(__( '(can be backordered)', 'woocommerce' ), '', $availability);

答案 3 :(得分:0)

您要做的就是去这里

woocommerce / includes / wc-formatting-functions.php

并在第1197行

更改

if($ product-> backorders_allowed()&& $ product-> backorders_require_notification()){ $ display。=''。 __('(可以缺货)','woocommerce'); }

if($ product-> backorders_allowed()&& $ product-> backorders_require_notification()){ $ display。=''。 __(``,'woocommerce'); }

希望有帮助! :)