如果产品缺货,则隐藏 WooCommerce 添加到购物车,但显示库存状态

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

在 WooCommerce 中,有谁知道如何在库存中选择“延期交货”时删除“添加到购物车”按钮,并仍将“延期交货”文本保留在前端?这会是全站范围吗?

尝试解决这个问题:

add_action('woocommerce_single_product_summary', 'check_if_backordered', 1 ); function check_if_backordered(){ 
    global $product; 

    if ($product->is_on_backorder()){ 
       add_filter( 'woocommerce_is_purchasable', '__return_false');
    }
}

但它也会删除库存状态文本。

如果产品缺货但仍显示库存状态,如何隐藏“添加到购物车”按钮?

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

要在产品缺货时隐藏“添加到购物车”按钮但保持库存状态显示,请尝试:

add_filter( 'woocommerce_is_purchasable', 'hide_add_to_cart_if_backorder', 20, 2 );
add_filter( 'woocommerce_variation_is_purchasable', 'hide_add_to_cart_if_backorder', 20, 2 );
function hide_add_to_cart_if_backorder( $is_purchasable, $product ) {
    if ( $product->is_on_backorder() ) {
        $is_purchasable = false;
    }
    return $is_purchasable;
}

add_action( 'woocommerce_single_product_summary', 'add_back_backorder_status', 30 );
function add_back_backorder_status() {
    global $product;

    if ( ! $product->is_type('variable') && $product->is_on_backorder() ) {
        echo wc_get_stock_html( $product );
    }
}

代码位于活动子主题(或活动主题)的functions.php 文件中。

经过测试并可与 WooCommerce 店面主题配合使用。

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