Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon How do I check if a product is in stock using WooCommerce conditional tags


How do I check if a product is in stock using WooCommerce conditional tags


To check if a product is in stock using WooCommerce conditional tags, you can use the `get_stock_status()` method along with the `is_product()` conditional tag. Here's an example of how to display a message if a product is in stock on the single product page:

php
add_action( 'woocommerce_single_product_summary', 'bbloomer_display_stock_message', 25 );

function bbloomer_display_stock_message() {
    if ( is_product() ) {
        global $product;
        $stock_status = $product->get_stock_status();
        if ( $stock_status == 'instock' ) {
            echo '<p>This product is currently in stock!</p>';
        }
    }
}

Explanation:

1. The `is_product()` conditional tag checks if the current page is a single product page.

2. The `global $product;` line retrieves the current product object.

3. The `$product->get_stock_status();` method returns the stock status of the product ('instock', 'outofstock', or 'onbackorder').

4. The code checks if the stock status is 'instock' and displays a message if true.

You can modify the message or add additional conditions based on the stock status. For example, you could display a different message for out-of-stock products or products on backorder.

To check if a product is out of stock, simply replace 'instock' with 'outofstock' in the condition:

php
if ( $stock_status == 'outofstock' ) {
    echo '<p>This product is currently out of stock.</p>';
}

By using the `get_stock_status()` method along with the `is_product()` conditional tag, you can easily check the stock status of a product and display relevant messages on the single product page.

Citations:
[1] https://www.businessbloomer.com/woocommerce-conditional-logic-ultimate-php-guide/
[2] https://nicolamustone.blog/2015/09/11/woocommerce-conditional-tags-an-overview/
[3] https://stackoverflow.com/questions/43391423/woocommerce-conditional-tag-for-particular-product
[4] https://www.businessbloomer.com/woocommerce-check-if-products-belongs-to-category-tag/
[5] https://woocommerce.com/it/products/woocommerce-conditional-content/