当产品在Woocommerce中处于缺货状态时,显示“无货”标签

时间:2018-12-26 16:30:45

标签: php wordpress woocommerce product stock

在Woocommerce中,关于产品的库存可用性显示文本,我正在寻找一种方法来显示“缺货”文本,即使激活了允许缺货而无需通知。

在Woocommerce中,当产品缺货时如何显示“无货”标签? 我正在使用店面主题

1 个答案:

答案 0 :(得分:0)

Woocommerce允许您在有或没有通知的情况下启用延期交货。启用缺货通知后,将显示文本“按缺货可用”,如果没有通知,则不会显示任何内容。

当产品处于缺货状态时,如果启用了缺货通知而不显示通知,则以下内容将显示文本“缺货(可以缺货)”

add_filter( 'woocommerce_get_availability_text', 'custom_backorders_stock_availability_text', 10, 2 );
function custom_backorders_stock_availability_text( $availability, $product ) {
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        if ( ! $product->backorders_require_notification() ) {
            $availability = __( 'Out of stock (can be backordered)', 'woocommerce' );
        }
    }
    return $availability;
}

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

产品设置(在“广告资源”标签上)

enter image description here

库存状态显示文本(处于缺货状态)

enter image description here


或者对于所有产品缺货(即使有通知)的情况,请改用:

add_filter( 'woocommerce_get_availability_text', 'custom_backorders_stock_availability_text', 10, 2 );
function custom_backorders_stock_availability_text( $availability, $product ) {
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        $availability = __( 'Out of stock (can be backordered)', 'woocommerce' );
    }
    return $availability;
}