如何始终显示 WooCommerce 产品中的库存状态

问题描述 投票:0回答:1

在简单的产品中,只有当您将其更改为非“有库存”的任何内容时,才会显示库存状态。可以一直显示库存状态吗?

我尝试使用此代码:

add_filter( 'woocommerce_get_availability', 'custom_override_get_availability', 10, 2);

// The hook in function $availability is passed via the filter!
function custom_override_get_availability( $availability, $_product ) {
    if ( $_product->is_in_stock() ) $availability['availability'] = __('In Stock', 'woocommerce');
    return $availability;
}

但是由于某种原因这会覆盖我的自定义库存状态文本。

php wordpress woocommerce product stock
1个回答
0
投票

要始终在 WooCommerce 中显示库存状态,而不覆盖您的自定义状态,请使用以下命令:

add_filter( 'woocommerce_get_availability', 'filter_product_get_availability', 10, 2);
function filter_product_get_availability( $availability, $product ) {
    if ( $product->get_stock_status() === 'instock' ) {
        $availability['availability'] = wc_format_stock_for_display( $product );
    } elseif ( $product->managing_stock() && $product->is_on_backorder( 1 ) 
    && ! $product->backorders_require_notification() ) {
        $availability['availability'] = __('In Stock', 'woocommerce');
        $availability['class'] = 'in-stock';
    }
    return $availability;
}

代码位于子主题的functions.php 文件中(或插件中)。它应该可以正常工作,不会给您的自定义状态带来麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.