Display custom stock message if “Manage Stock” is not enabled in WooCommerce

浪子不回头ぞ 提交于 2020-07-28 00:16:02

问题


If Enable stock management at the product level is not checked I would like to show a message in product page for the stock status

When the Stock status is

  • instock - "Available"
  • outofstock - "Out of stock"
  • onbackorder - "Available after 4-7days"

is it possible.?


回答1:


With the following code you can check the stock status and adjust the message accordingly.

function change_stock_message( $text, $product ) {  
    // Managing stock NOT checked
    if ( !$product->managing_stock() ) {

        // Get stock status
        if ( method_exists( $product, 'get_stock_status' ) ) {
            $stock_status = $product->get_stock_status();
        }

        // Check stock status, adjust the message accordingly
        switch ( $stock_status ) {
            case 'instock':
                $text = __( 'Available', 'woocommerce' );
                break;
            case 'outofstock':
                $text = __( 'Out of stock', 'woocommerce' );
                break;
            case 'onbackorder':
                $text = __( 'Available after 4-7 days', 'woocommerce' );
                break;
        }
    }

    return $text;
}
add_filter( 'woocommerce_get_availability_text', 'change_stock_message', 10, 2 );


来源:https://stackoverflow.com/questions/60749190/display-custom-stock-message-if-manage-stock-is-not-enabled-in-woocommerce

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!