Piotr Szary
Piotr Szary

Reputation: 63

How to get only availability variation count in Woocommerce

Hi I want to get only value availability from variation but data.variation.availability_html returns count and text.

Upvotes: 1

Views: 3220

Answers (2)

LoicTheAztec
LoicTheAztec

Reputation: 253784

You can use one of the following hooked functions to get availability count for product variations:

add_filter( 'woocommerce_get_availability', 'display_variation_availability_count', 10, 2 );
function display_variation_availability_count( $args, $product ) {
    // Targeting product variations with stock management enabled
    if ( $product->managing_stock() && $product->is_type('variation') ) {
        $args['availability'] = __("Stock: ") . $product->get_stock_quantity();
        $args['class'] = 'stock-count';
    }
    return $args;
}

Or:

add_filter( 'woocommerce_get_availability_text', 'display_variation_availability_count', 10, 2 );
function display_variation_availability_count( $availability, $product ) {
    // Targeting product variations with stock management enabled
    if ( $product->managing_stock() && $product->is_type('variation') ) {
        $availability = __("Stock: ") . $product->get_stock_quantity();

    return $availability;
}

Code goes in function.php file of your active child theme (or active theme). Tested and works.

Upvotes: 1

mujuonly
mujuonly

Reputation: 11861

Create a file in your active theme like below structure woocommerce/templates/single-product/stock.php

Add below code to the file

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

?>
<?php echo wp_kses_post( $availability ); ?>

Get availability using product object can be done like below

$availability = $product->get_availability();

Upvotes: 0

Related Questions