如果该产品有存货,那么在Woocommerce产品页面上显示“(可以补购)”文字对我来说是没有意义的,因为这毕竟使人迷惑!
我发现有代码可以更改该消息(如果缺货),但是找不到产品(如果有现货)如何删除该消息,并且在网上搜索了几个小时。
任何人都可以向我提供functions.php文件或其他地方所需的代码,以在全球范围内进行更改吗?
答案 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'); }
希望有帮助! :)