【问题标题】:Display availability in add to cart button for WooCommerce simple products在 WooCommerce 简单产品的添加到购物车按钮中显示可用性
【发布时间】:2019-05-02 20:09:21
【问题描述】:

我有这个代码,如果我删除它的 else if 部分,它就可以工作,但如果这样做,它会在缺货时显示 BUY NOW (0 AVAILABLE)。

我需要它在缺货时说 SOLD OUT。这是我正在使用的代码:

add_filter( 'woocommerce_product_single_add_to_cart_text', 'atc_with_qty', 10, 2 );
add_filter( 'woocommerce_product_add_to_cart_text', 'atc_with_qty', 10, 2 );
function atc_with_qty( $add_to_cart_button_text, $product ) {

    $stock = $product->get_stock_quantity();

    if ( $product->is_type( 'simple' ) ) {
        $add_to_cart_button_text = __('Buy Now ('.$stock.' Available)', 'woocommerce');
    return $add_to_cart_button_text;

    } else if ( !$product->is_in_stock() && $product->is_type('simple') ) {
        $add_to_cart_button_text = __('SOLD OUT', 'woocommerce');

        return $add_to_cart_button_text;
    }
}

【问题讨论】:

    标签: php wordpress woocommerce product product-quantity


    【解决方案1】:

    更新:您的 elseif 条件,从不匹配……请尝试以下操作:

    add_filter( 'woocommerce_product_single_add_to_cart_text', 'add_to_cart_text_availability', 10, 2 );
    add_filter( 'woocommerce_product_add_to_cart_text', 'add_to_cart_text_availability', 10, 2 );
    function add_to_cart_text_availability( $add_to_cart_text, $product ) {
        if ( $product->is_type( 'simple' ) ) {
            if ( $product->is_in_stock() ) {
                $add_to_cart_text = sprintf( 
                    __("Buy Now (%s Available)", "woocommerce"), 
                    $product->get_stock_quantity() 
                );
            } else {
                $add_to_cart_text = __('SOLD OUT', 'woocommerce');
            }
        }
        return $add_to_cart_text;
    }
    

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

    【讨论】:

    • 打破了所有的按钮。
    • @KevinAronsson 我已经更新了答案(我正在完成我的代码)并且它现在没有破坏任何东西。
    猜你喜欢
    • 2017-11-23
    • 2018-08-11
    • 2021-12-29
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2014-12-10
    相关资源
    最近更新 更多