Reputation: 63
Hi I want to get only value availability from variation but data.variation.availability_html returns count and text.
Upvotes: 1
Views: 3220
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
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