Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
618 views
in Technique[技术] by (71.8m points)

php - Display custom stock message if "Manage Stock" is not enabled in WooCommerce

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.?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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 );

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...